ACCESS为什么把数据全读出来了?

giantboy520 2006-05-11 11:50:57
我用这条语句
select top 15 * from articles where mark=1 order by hits desc
在SQL中只把前15条读了出来,可是ACCESS中却把全部都读出来了,但换成这样
select top 15 * from articles where mark=1 order by id desc
却可以,奇怪,ACCESS和SQL在这有什么分别呢?
id=自动编号,长整型
hits=数字,长整型
...全文
91 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
giantboy520 2006-05-13
  • 打赏
  • 举报
回复
这样就解决啦!
select top 15 * from(select * from articles where mark=1 order by hits desc)
webwait 2006-05-12
  • 打赏
  • 举报
回复
webwait(webwei)

建立一个id,自动编号
-----------------------------------------------------------
说了跟没说一样!
=============
没办法,只能这样了,要么就换sql server
webwait 2006-05-12
  • 打赏
  • 举报
回复
建立一个id,自动编号
dayasky 2006-05-12
  • 打赏
  • 举报
回复
select top 15 * from articles where mark=1 order by hits,id desc
giantboy520 2006-05-12
  • 打赏
  • 举报
回复
webwait(webwei)

建立一个id,自动编号
-----------------------------------------------------------
说了跟没说一样!


giantboy520 2006-05-12
  • 打赏
  • 举报
回复
对了,是有重复值的,那个是记录浏览次数的,那应该怎样解决呢?谢谢
webwait 2006-05-12
  • 打赏
  • 举报
回复
查了一下,就是重复值的事情
===
JET SQL不是 T-SQL语句。
jet sql 会返回重复值,也就是说,一个表中如果 ORDER BY 的字段都是 0 ,一共有100条记录,即使你用SELECT TOP 1 来返回记录,也同样返回100条记录,因为 JET DB 无从在这100条记录里面判断先后次序,只能返回100条。
webwait 2006-05-12
  • 打赏
  • 举报
回复
可能hits有重复值,按1条计算的
giantboy520 2006-05-12
  • 打赏
  • 举报
回复
dayasky(.Neting)


select top 15 * from articles where mark=1 order by hits,id desc

=--------------------------------------------------------------------------
没用啊,和
select top 15 * from articles where mark=1 order by id desc一样



giantboy520 2006-05-12
  • 打赏
  • 举报
回复
晕~~~那就没有别的解决方法了吗?哎~~~~~~要是用SQL就没这烦恼啦!
webwait 2006-05-11
  • 打赏
  • 举报
回复
一样的吧,是不是返回记录本身就没有15条?

62,071

社区成员

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

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

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

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