2015-12-03 44 views
0

前3最大值我归类为降序即如何选择从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 1    4 1 
5 4    5 1    5 1 

现在我要选择前3最大值在SQL Server中派生列值。我该如何选择,以便每次查询返回一致的结果。
例如,如果Count的值相同,其中id应该返回为前3个最大值,类似地,如果第3个值与其他值匹配并且如果第2个值与其他值匹配,那么应该返回哪个id查询。每次执行查询时结果都应该一致。

回答

1

的与顶级功能的关系参数将返回所有匹配的顶值这行:,

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