我现在有个表,其中有个字段hits,记录的是点击次数。我想实现一条SQL语句,从表中取出前10条记录,我是这么写的:select top 10 * from tb1 order by hits DESC
可是怎么也取的不是10条记录,总是多。是不是因为hits字段有重复值啊?因为我换成order by id就可以了。那如果是的话,我要怎么实现这个功能呢?请帮帮我,谢谢。
可是怎么也取的不是10条记录,总是多。是不是因为hits字段有重复值啊?因为我换成order by id就可以了。那如果是的话,我要怎么实现这个功能呢?请帮帮我,谢谢。
你用多个字段排序把,比如ID什么的
select top 10 * from tb1 order by hits DESC,ID desc
试试看
select top 10 * from tb1 order by hits DESC ,id DESC呢?
select top 10 * from tb1 order by hits DESC,ID desc
这样就没什么问题了
ylnjust02(阿亮) 说“往往是因为排序的字段不唯一”,是什么意思啊?
还请指点啊
往往是因为排序的字段不唯一
也就是说你用hits 来排序,但是hits中有重复的内容,比如:
ID hits
1 13
2 11
3 13
4 12...这样就会可能多于10条