星期零

技术改变生活,分享让我们快乐!
随笔 - 159, 文章 - 0, 评论 - 234, 阅读 - 44万
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

access数据库select查询top时无效的解决办法

Posted on   weekzero  阅读(933)  评论(0编辑  收藏  举报

access数据库select查询top时有时无效,原因就是在使用Order by时,且排序的条件中数据有重复的。

比如:select top 10 * from table1 order by cdate desc

其中数据中cdate有很多重复的,这样就导致top失效了。

解决办法就是order一个主键字段来辅助实现

如:select top 10 * from table1 order by cdate desc,ID desc

这样就可以了。

 

参考一个相关的解释吧,如下:

JET SQL不是 T-SQL语句。jet sql 会返回重复值,也就是说,一个表中如果 ORDER BY 的字段都是 0 ,一共有100条记录,即使你用SELECT TOP 1 来返回记录,也同样返回100条记录,因为 JET DB 无从在这100条记录里面判断先后次序,只能返回100条。要解决此问题可以在后面加入一个主键字段。

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示