关于access查询语句的问题

jakecheng 2012-03-18 11:09:49
为什么我在access中使用top进行查询,结果总是不对呢
select top 10 * from tableName order by ID desc
我这样查询出来的结果是按照降序排列,但是是数据库中的全部数据,而不是前十条,这是为什么呢?我想了很多办法,
select top 10 * from(select * from tableName order by ID desc)
这样就可以了,我还是没有想通,这是为什么
...全文
83 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jakecheng 2012-03-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 net_lover 的回复:]

你可以
select top 10 * from tableName order by ID desc,xx asc
再加个排序字段试试

排序字段尽量选择没有重复记录的字段
[/Quote]问题找到了,是字段问题,我用来排序的字段里面有大量的重复值,就像二楼说的那样,我给它在加了一个字段,现在可以了……谢谢了啊,
SELECT TOP 10 resourceTag, resourcePath, resourceSharePerson, resourceShareTime
FROM ResourceShare
ORDER BY name desc,ID asc
EnForGrass 2012-03-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 bmjw5 的回复:]

引用 2 楼 licai1210 的回复:

你是将代码写在程序里面运行调试的还是直接将代码放在access的查询分析器中调试的,如果在程序里面运行的,会不会有可能和本身的运行环境有关,和数据库没关系呢

在查询分析器里面尝试的,就是不行啊,我也很郁闷,对于楼主说的,我的ID是主键啊,这个是怎么回事啊,郁闷哦
[/Quote]
既然是ID是主键,主键不重复,应该不会出现那样的情况
select top 10 * from tableName order by [ID] desc
jakecheng 2012-03-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 licai1210 的回复:]

你是将代码写在程序里面运行调试的还是直接将代码放在access的查询分析器中调试的,如果在程序里面运行的,会不会有可能和本身的运行环境有关,和数据库没关系呢
[/Quote]
在查询分析器里面尝试的,就是不行啊,我也很郁闷,对于楼主说的,我的ID是主键啊,这个是怎么回事啊,郁闷哦
licai1210 2012-03-18
  • 打赏
  • 举报
回复
另外你也可以试试将*修改为表里面的字段
licai1210 2012-03-18
  • 打赏
  • 举报
回复
你是将代码写在程序里面运行调试的还是直接将代码放在access的查询分析器中调试的,如果在程序里面运行的,会不会有可能和本身的运行环境有关,和数据库没关系呢
孟子E章 2012-03-18
  • 打赏
  • 举报
回复
你可以
select top 10 * from tableName order by ID desc,xx asc
再加个排序字段试试

排序字段尽量选择没有重复记录的字段

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧