我知道,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
用主键作“不可能重复”的保障就可以防止此问题出现了!!