access数据库使用order by后select top失效

  问题描述:access数据库中使用select top+order by选取记录时,如果order by的字段出现重复内容,可能会导致select top失效,返回的记录集合大于select top xx指定的xx值。对于asc升序或者desc降序都会出现这种情况。order by后出现select top失效主要问题在于top指定后最后一条记录的order by字段值和大于top 指定的数字的记录出现重复值,会继续取出这些值重复的记录,也并非像网上所说的那样取出了表中的所有记录。

  如执行下面的语句,由于usd字段为0的出现了9次,会导致top 5失效,取出了9条记录

select top 5 pid,title,img,usd from property order by usd

access数据库使用order by后select top失效

  解决办法:在order by中添加主键,主键是唯一的,就不会导致选出access表中的所有记录集了。

 

select top 5 pid,title,img,usd from property order by usd asc,pid--pid为主键

access数据库使用order by后select top失效


原创文章,转载请注明出处:access数据库使用order by后select top失效

评论(0)Web开发网
阅读(113)喜欢(0)不喜欢(0)SQL及数据库