ACCESS中使用select top 出现的问题
今天做网站,动易动态标签,突然发现select top不灵了,不管top几都是全部出来,邪门了,赶紧查查怎么回事。
关于ACCESS中TOP 功能的一个问题
我一直以为ACCESS的SQL语句与SQL Server差不多,当时也使用 Select top n在ACCESS测试过,都是成功的,但昨天突然发现ACCESS中有个问题:
如果在查询TOP语句的后面使用Order by,而且Order by字段中有重复值的话,那么这个TOP很可能会失效,会返回所有记录
比如:
Select top 5 from News order by CreateDate
如果CreateDate中有重复值,那么很有可能会显示出所有的记录来,此TOP功能会失效的
但如果CreateDate中无重复值,那么TOP功能还是有效的
因此,在ACCESS中使用TOP功能要注意一下order by的字段是否会有重复值,如果象CreateDate是"年-月-日 时:分:秒"的,那基本上问题不大的。
但为了保险起见,我们也可以采用“加入主键”的方式:
Select top 5 from News order by CreateDate desc,id desc
用主键作“不可能重复”的保障就可以防止此问题出现了!!
原来如此,晕倒,哈哈
- 相关文章
- 清除缓存后导致access连接不上 - 2007-03-16
- sql查询100个栏目的前100个文章 - 2007-01-18
- 不能更新,数据库或对象为只读----错误 '80004005' - 2006-12-27
- 文件共享锁定数溢出 - 2006-07-01
- access采用sql语句与sql的区别 - 2006-05-16
- 上一篇:最经典的在线咨询表单
- 下一篇:两个值得收藏研究的经典网站











