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

来源:互联网 发布:志鸿优化系列丛书语文 编辑:程序博客网 时间:2024/05/01 10:39

我知道,ACCESS和 SQL Server有差别,但不知道差别这么大。

使用 Select top n在ACCESS测试过,都是成功的,  如果在查询TOP语句的后面使用Order by,而且Order by字段中有重复值的话,那么这个TOP很可能会失效,会返回所有记录。
比如:

Select top 5 from News order by CreateDate
如果CreateDate中有重复值,那么很有可能会显示出所有的记录来,此TOP功能会失效的。

我们可以采用主键的方式解决:

Select top 5 from News order by CreateDate desc,id desc

用主键作“不可能重复”的保障就可以防止此问题出现了!!