Sql 如何获取包含每个分组集的最大值的行?

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()。如果有

表名:-my_测试

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