sql查询中如何用group by查询出完整的一行记录?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql查询中如何用group by查询出完整的一行记录?相关的知识,希望对你有一定的参考价值。
参考技术A selct*
from
table
where
uploadtime=max(uploadtime)
group
by
school
这条语句能把uploadtime最大的那一条数据查出来
select
*
就是查出所有的数据,你再用where=*
过滤指定一下你要查数据的条件。
关于你的语句
select
id,name,nickname,email,school,max(uploadtime)
from
table
group
by
school
这段代码只是随意查了个id,name等信息,但是不是max(uploadtime)对应的,你改成
select
id,name,nickname,email,school,uploadtime
where
uploadtime=max(uploadtime)
from
table
group
by
school
不知道你问的是不是这个意思
SQL 查询 Distinct / Group By 不工作
【中文标题】SQL 查询 Distinct / Group By 不工作【英文标题】:SQL query Distinct / Group By not working 【发布时间】:2013-03-06 15:45:25 【问题描述】:我不是一个很好的选择陈述工匠,希望有人能提供帮助。我有两个制造零件表:
STOCK 表中有常备库存。它包含所有零件编号,这些零件编号存在于多行中,因为零件分散在多个位置。这是正确的。
RECEIPT 表是某人构建的表。它只是最近收到零件的年份。每一行只有零件编号和收货年份。零件编号仅明确列出一次。
我正在尝试将“收货年份”列粘贴到原始 STOCK 表上,以仅报告收到零件的年份。我不想更改 STOCK 表中的原始数据,只需根据 PART NUMBER 上的匹配将收据年份添加到每一行。 这是我的选择语句:
SELECT DISTINCT STOCK.Project, STOCK.[Part Id], STOCK.Warehouse, STOCK.Location, RECEIPTS.Year from STOCK LEFT JOIN RECEIPTS on STOCK.[Part Id] = RECEIPTS.ITEM_ID GROUP BY STOCK.Project, STOCK.[Part Id], STOCK.Warehouse, STOCK.Location, RECEIPTS.Year;
不幸的是,我的查询不断复制 RECEIPTS 表中可用的每一年的行,如下所示:
Proj Part Id Whse_ID Loc Receipt_Year
A198.730 5962-9313101MPA 770 GFMSTK-116B2 2004
A198.730 5962-9313101MPA 770 GFMSTK-116B2 2005
A198.730 5962-9313101MPA 770 GFMSTK-116B2 2006
A198.730 5962-9313101MPA 770 GFMSTK-116B2 2007
A198.730 5962-9313101MPA 770 GFMSTK-116B2 2009
A198.730 5962-9313101MPA 770 GFMSTK-116B2 2011
A198.730 5962-9313101MPA 770 GFMSTK-116B2 2012
A198.730 5962-9313101MPA 770 GFMSTK-116B2 2013
仅在 2004 年收到了 5962- 部分(收据中的一个不同行)。
非常感谢任何帮助。谢谢, 杰米
【问题讨论】:
【参考方案1】:通过首先提取数据上的最大日期记录的引物查询解决。
【讨论】:
这没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方发表评论 - 您可以随时评论自己的帖子,一旦您有足够的reputation,您就可以comment on any post。 抱歉,我自己通过两个后续查询解决了这个问题。第一个查询提取最大日期的数据以消除重复记录,然后第二个查询完成我需要的过滤器以上是关于sql查询中如何用group by查询出完整的一行记录?的主要内容,如果未能解决你的问题,请参考以下文章
在PL/SQL中如何用SQL语句查询数据库中所有表的数据数量?
sql语句中如何用 EXISTS 引入子查询?没有exists引入子查询时怎样实现子查询?