回 帖 发 新 帖 刷新版面

主题:top10热点文章SQL语句怎么搞?

我用 select top10 * from 表名 order by 点击量字段 desc

结果,出来的数据超出了10条.不知道是怎么回事.不管前面的top10改成top4 top 9 还是出来很多内容.有什么办法来解决??不要跟我说,select * 然后 for i=1 to 10这样解决啊

回复列表 (共6个回复)

沙发

TOP10中间加个空格看看

板凳

不好意思,那是我打错了的,是top 10 空格10,问题不在这里,请继续帮我想想,郁闷啊

3 楼

我分析,可能的原因是(只是可能,因为我也没底),同时有几个点击率的数字是一样的记录,例如有5条记录的点击量都是:20,那么就会多出4条记录来。

现在只有一个临时解决的办法:

在 do while 下面加个记数器 ii=ii+1 
if ii>10 then exit do

这样只要最前的10条记录,就象有点击率是一样的,自少也是前10条点击量最大的。


#######################################################################
如果有了解决办法,请告诉我,我会感激的,而且那是相当感激的。

4 楼

貌似这个问题只有在access里才有,sql server应该没有,
你可以试试看加个第2排序条件,比如:
select top10 * from 表名 order by 点击量字段 desc,id desc

5 楼

呵呵,真的加个,id desc就行了,看来还是yaozheng大哥强啊,这么多年了还这么利害.

6 楼

检查一下[点击量字段]字段中是否有Null!
Null会破坏Top的使用!

我来回复

您尚未登录,请登录后再回复。点此登录或注册