Sql server 如何从SQL Server列中选择前3个最大值
SQL Server派生列中的值按降序排序,即Sql server 如何从SQL Server列中选择前3个最大值,sql-server,max,repeat,Sql Server,Max,Repeat,SQL Server派生列中的值按降序排序,即 id Count OR id Count OR id Count 1 4 1 5 1 11 2 4 2 2 2 1 3 4 3 1 3 1 4 4 4
id Count OR id Count OR id Count
1 4 1 5 1 11
2 4 2 2 2 1
3 4 3 1 3 1
4 4 4 1 4 1
5 4 5 1 5 1
现在我想选择前3个最大值。如何选择以便每次查询都返回一致的结果。
例如,如果Count的值相同,那么哪个id应该作为前3个最大值返回,类似地,如果第3个值与其他值匹配,如果第2个值与其他值匹配,那么查询应该返回哪个id。每次执行查询时,结果应该是一致的 top函数的with ties参数将返回与top值匹配的所有行:
select top (3) with ties id, count from table1
order by count desc
或者,如果您只想返回3个值,但要确保它们始终是相同的3个值,那么您将需要使用其他内容作为平局断路器。在这种情况下,您的id列看起来可能是唯一的
select top (3) id, count from table1
order by count desc, id