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

王朝other·作者佚名  2006-01-09
宽屏版  字体: |||超大  

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

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

问题:

如何解决 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

HTTP://ACCESS911.NET 站长收藏

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有