设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

解决SELECT TOP 1语句返回多条记录

1970-1-1 08:00| 发布者: cg1| 查看: 5580| 评论: 0

原文:http://access911.net/71FAB41E15DCEFF3.htm

问题:

如何解决 SELECT TOP 1语句竟然返回多条记录的问题?

SELECT TOP 9 title,id,hit FROM Article WHERE DATEDIFF('h',[ShowDateB],Now())>=0
可以正确显示前9条

SELECT TOP 9 title,id,hit FROM Article WHERE DATEDIFF('h',[ShowDateB],Now())>=0 ORDER BY hit DESC
就成了全部显示

 

只有4个值.很多是0

是不是这样不足九个就会全取出?

怎么解决呢???
在SQL Server就没有这种问题阿

回答:

再说一遍,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

 

最新评论

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-29 15:05 , Processed in 0.099506 second(s), 16 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回顶部