Sql 如何获取包含每个分组集的最大值的行?
表名:-my_测试Sql 如何获取包含每个分组集的最大值的行?,sql,sql-server,sql-server-2008,greatest-n-per-group,Sql,Sql Server,Sql Server 2008,Greatest N Per Group,表名:-my_测试 compid roundno 1 1 2 1 2 2 我需要输出如下 compid roundno 1 1 2 2 典型的方法是使用行编号(): 注: 如果希望所有行的值相等,请使用rank() 您的简单示例可以只使用分组方式和max()。如果有其他列,则上述操作有效 典型的方法是使用行编号() 注: 如果希望所有行的值相等,请使用rank() 您的简单示例可以只使用分组方式和max()。如果有
compid roundno
1 1
2 1
2 2
我需要输出如下
compid roundno
1 1
2 2
典型的方法是使用
行编号()
:
注:
- 如果希望所有行的值相等,请使用
rank()
- 您的简单示例可以只使用
和分组方式
。如果有其他列,则上述操作有效max()
行编号()
注:
- 如果希望所有行的值相等,请使用
rank()
- 您的简单示例可以只使用
分组方式
和max()
。如果有其他列,则上述操作有效
您可以使用max()
聚合函数按compid
列分组
select compid, max(roundno)
from tbl
group by compid;
您可以在compid
列中使用max()
聚合函数groupby
select compid, max(roundno)
from tbl
group by compid;
使用聚合函数最大值()
使用聚合函数最大值()
从TableName group by compid中选择compid,MAX(RoundNo)
可能重复的从TableName group by compid中选择compid,MAX(RoundNo)
可能重复的
select compid,max(roundno)
from my_test
group by compid