当前位置: 爱符号 - 所有分类 - 数据库 - access - [sql]Access用top查询,得到的数据条数有问题
[sql]Access用top查询,得到的数据条数有问题 [sql]AccessYongtopChaXun,DeDaoDeShuJuTiaoShuYouWenTi
符号空间 发表于:2013-01-03 12:18:20 阅读(8802)
关键词:Access Access sql sql top查询 top查询
摘要:像这样的语句,大家经常用到吧: select top 10 * from [User] 如果你是在 access 中使用 top 方式查询,可能会遇到一个奇怪的问题,就是不管你top多少,它得到的数据,都是那么多。 问题原因是,如果用到top,请注意 order by的写法。

像这样的语句,大家经常用到吧:

select top 10 * from [User] 

如果你是在 access 中使用 top 方式查询,可能会遇到一个奇怪的问题,就是不管你top多少,它得到的数据,都是那么多。


问题原因是,如果用到top,请注意 order by的写法。

比如以下查询,将有可能无论top 为 2 还是10 ,得到的记录条数都一样:

select top 3 * from [Article] order by [CreateDate]
原因:在access中,order by 的列,如果无差别时,会无法导致top算法出错,所以通常都要加一个次级order by
select top 3 * from [Artile] order by [CreateDate],[Id]

这样做的目的就是,如果CreateDate的值一样的话,就按Id来比较,这样能保证每条记录总是会有先后的感觉,

否则遇到两条CreateDate一样的时候,top 出来的结果,会让你傻眼。

声明:以上内容仅代表作者观点,不代表爱符号赞成此内容或立场
相关分类
热门分享
 
最新分享