我有这样的表:
a b
1 23
1 2
1 7
2 9
2 11
Run Code Online (Sandbox Code Playgroud)
我想从"GROUP BY a"查询中选择第一行(顺序无关紧要),结果应该是
a b
1 23
2 9
Run Code Online (Sandbox Code Playgroud)
我正在使用SQL SERVER 2008如何为此编写查询?
rem*_*rel 94
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
Run Code Online (Sandbox Code Playgroud)
请参阅http://msdn.microsoft.com/en-us/library/ms186734.aspx
Lie*_*ers 56
如果您指出,顺序无关紧要,任何聚合函数就b
足够了.
SELECT a, b = MIN(b)
FROM YourTable
GROUP BY
a
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
76952 次 |
最近记录: |