数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
如何解决access 中 SELECT TOP 1语句竟然返回多条记录的问题?

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

如何解决 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 站长收藏




相关文章

相关软件