繁体   English   中英

sql server 从组中选择第一行

[英]sql server select first row from a group

我有这样的表:

a          b
1          23
1          2
1          7
2          9
2          11

我想从“GROUP BY a”查询中选择第一行(顺序无关紧要),结果应该是

a          b
1          23
2          9

我正在使用 SQL SERVER 2008 如何为此编写查询?

select a,b
from (
select a,b,row_number() over(partition by a order by b desc) as roworder
from myTable
) temp
where roworder = 1

请参阅http://msdn.microsoft.com/en-us/library/ms186734.aspx

如果如您所指,顺序无关紧要, b上的任何聚合函数就足够了。

使用 MIN 的示例

SELECT a, b = MIN(b)
FROM   YourTable
GROUP BY
       a

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM