一直觉得sql2000的t-sql基本语法是比较熟悉的了,今天才看到top n还有with ties的做法的:
select top N with ties ... from ... where ... order by ...
取前3名,但是排序的结果是:7,7,6,6,6,5,4,4,3,2,1,1
top 3则得到:7,7,6
top 3 with ties则得到:7,7,6,6,6
top 4则得到:7,7,6,6
top 4 with ties则得到:7,7,6,6,6
其实,我还想要这样的语法top n with level:取按值顺序的前n个,它们所对应的所有记录
top 3则得到:7,7,6
top 3 with ties则得到:7,7,6,6,6
top 3 with ties则得到:7,7,6,6,6,5 (值顺序的前3个是:7,6,5)
top 4则得到:7,7,6,6
top 4 with ties则得到:7,7,6,6,6
top 4 with level则得到:7,7,6,6,6,5,4,4 (值顺序的前3个是:7,6,5,4)