查询Access,select top 10却得到15行的查询结果,why?

Equn 2004-12-06 12:54:44
SQL语句:
select top 10 title,newsfile,listtitle,id from news where formid in(10,11,35,55,56,57,58,36,59,60,61,62,37,63,64,65,66,38,67,68,69,70,39,71,72,73,74,75,76,40,77,78,79,80,41,81,82,83,12,47,104,105,106,107,108,109,110,48,111,112,113,42,84,85,86,87,88,89,43,90,91,92,93,94,44,95,96,97,98,45,99,100,101,102,103,13,49,114,115,50,116,117,118,51,119,120,121,122,52,123,124,53,125,126,54,127,128,129,130,14,15,131,132,133,134,135,136,137,16,138,139,140,141,142,143,17,144,145,146,147,148,149,18,20,21,19,150,159,160,161,151,156,157,158,152,162,163,164,153,165,166,167,154,168,169,170,155,171,172,173,25,26,27,28,29,30,31,32,33,174,175,176,34,177,178,179,1) and isend=1 order by monthtime desc

查询语句如下:
set rs=server.CreateObject("adodb.recordset")
rs.open sql,conn,1,1

结果:
查询得出15行记录集。

ADO的问题吗?在Access中建立上述查询,执行正确。不知是何道理?

window2000 server+sp4,ado2.8已安装

...全文
565 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
风流才子 2004-12-06
  • 打赏
  • 举报
回复
问题出在order by monthtime desc这里。肯定有相同时间的记录
Equn 2004-12-06
  • 打赏
  • 举报
回复
得出结要:在Access中查询TOP n条记录时(经过order by排序)时,查询结果集包括所有与第N条等值(指排序字段)的纪录
cyj920 2004-12-06
  • 打赏
  • 举报
回复
兄弟,别忘记给分啊!
  • 打赏
  • 举报
回复
如果选出了15条记录,一般来说应该是with ties选项的问题

Access数据库默认为select top 加了with ties选项

但在Access中查询和用ado得到了不同的结果应该就是程序的问题了
cyj920 2004-12-06
  • 打赏
  • 举报
回复
JET SQL不是 T-SQL语句。
jet sql 会返回重复值,也就是说,一个表中如果 ORDER BY 的字段都是 0 ,一共有100条记录,即使你用SELECT TOP 1 来返回记录,也同样返回100条记录,因为 JET DB 无从在这100条记录里面判断先后次序,只能返回100条。要解决此问题可以建立一个自动编号字段(id),然后用
select top 1 a,id from tablename order by a,id
wxq4100798 2004-12-06
  • 打赏
  • 举报
回复
select distinct top 10 试试呢??
Equn 2004-12-06
  • 打赏
  • 举报
回复
如mackyliu(NB联盟--风流才子)所说,问题确实是在order by monthtime desc这里。

monthtime字段类型为长整型数字,现在所有记录该字段值均为0

top语句和order by不能一起用吗? 第一次发现
tpf9000 2004-12-06
  • 打赏
  • 举报
回复
奇怪了,没遇过
cncca 2004-12-06
  • 打赏
  • 举报
回复
mackyliu(NB联盟--风流才子)
问题就在这!
仔细看看吧!!
bozy 2004-12-06
  • 打赏
  • 举报
回复
to mackyliu(NB联盟--风流才子)

order by monthtime desc 只是排序的規則,與記錄的條數無關的。
bozy 2004-12-06
  • 打赏
  • 举报
回复
驚!!!
你顯示紀錄的循環代碼有沒有問題的。

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧