急!ASP+access多条件查询

数据库里有上千条新闻我想对最新的100条新闻进行点击数(count)排行,排出TOP10,该怎么实现呢?我用了子查询来实现,但是出了点问题,不知是BUG还是什么。。高手来... 数据库里有上千条新闻
我想对最新的100条新闻进行点击数(count)排行,排出TOP10,该怎么实现呢?我用了子查询来实现,但是出了点问题,不知是BUG还是什么。。高手来看看吧

sql="select top 10 title,url,tag,id from news where id in (select top 100 id from news order by id desc) order by count desc"
问题是:top 10会把100条记录全显示出来,但是我改成top1和top2就正常,只要大于top 3就全部显示,这是不是BUG啊?感觉理论上应该是可以实现的啊
你没看清楚我的问题,我是要对最新的100条新闻做排行,并不是对所有新闻排行。我就是先用子查询先取出最新的100条新闻
展开
 我来答
someeyes
2008-06-29 · 超过11用户采纳过TA的回答
知道答主
回答量:21
采纳率:0%
帮助的人:32.8万
展开全部
我可以告诉你问题的原因!原因就是你的count值不全是唯一的(也就是说点击量有相同的),所以造成这个问题,算是access的一个bug吧!你可以改称这样试下!
sql="select top 10 title,url,tag,id from news where id in (select top 100 id from news order by id desc) order by count desc,id desc"

另外楼上的查询语句不满足楼主的要求!按着你的查询条件,是先排出浏览量追高的10条,然后在按着id的顺序排序输出,如果数据库够久,浏览量够大,按着这种查询,永远都得不到最新的,永远是输出浏览量最高的那10条
百度网友66a8d48e5
2008-06-29 · TA获得超过7687个赞
知道大有可为答主
回答量:3002
采纳率:12%
帮助的人:3880万
展开全部
sql="select top 10 title,url,tag,id from news order by count desc,id desc" 我就想不起你为什么这样用?本来这样一句就能实现的!为什么偏要这样用呢?你的想法也只是应该,但在语句的使用上要尽量短,所以这样的使用不多,谓词在使用时应该是子查询比较小的范围,大范围不妨试一个= any (子查询)的方式。尽量使用运算,避免使用谓词。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式