如何解决access 中 SELECT TOP 1语句竟然返回多条记录的问题? - 中国WEB开发者网络 (http://www.webasp.net) -- 技术教程 (http://www.webasp.net/article/) --- 如何解决access 中 SELECT TOP 1语句竟然返回多条记录的问题? (http://www.webasp.net/article/20/19121.htm) |
| -- 作者:未知 -- 发布日期: 2005-04-29 |
如何解决 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 站长收藏 |
| webasp.net |