解决SELECTTOP1语句返回多条记录 |
|
www.nanhushi.com 佚名 不详 |
问题:
如何解决 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
|
|
|
文章录入:杜斌 责任编辑:杜斌 |
|
上一篇文章: 如何定义自动编号字段的初始值和步进值? 下一篇文章: 读取表中不重复的记录且显示全部字段 |
【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
|
|