求一高效率Access 分页语句、

著名天才___ 2011-11-10 01:46:49
允许带where 条件的、
...全文
547 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
andrewsway 2011-11-11
  • 打赏
  • 举报
回复
想高效就别用access,不管你写的再高效,只要一上数据量、访问量,都会变得搞笑
hhh305743261 2011-11-11
  • 打赏
  • 举报
回复
select top pageSize tableName.* from tableName inner join (select top pageSize ID from (select top pageSize * pageIndex ID from tableName order by ID desc) order by ID asc)as p on p.ID=tableName.ID order by tableName.ID desc
cainiaoyehuifei 2011-11-11
  • 打赏
  • 举报
回复
一直用 PageDataSource ..
OnlyVB 2011-11-11
  • 打赏
  • 举报
回复
我也正需要这个,没看到理想答案,所有的答案都用id排序,所有的答案都显示整个表数据,这是啥样的需求呀
先不谈效率,来个能用的瞧瞧
dalmeeme 2011-11-10
  • 打赏
  • 举报
回复
select top 50 * from 测试 order by 主键 desc

不一定要主键,只要某字段不重复并加过索引就行了。
OnlyVB 2011-11-10
  • 打赏
  • 举报
回复
给的答案都必须按id排序,这就不太切合实际
arecaiz 2011-11-10
  • 打赏
  • 举报
回复
1.select top pagesize * from table where id not in (select id from table where id<pagesize*(pageindex-1) order by id desc) order by id desc
2.select top pagesize * from table where id>(select max(id) from (select top pagesize*(pageindex-1)) id from table order by id desc as t ) order by id desc
世界的彼岸 2011-11-10
  • 打赏
  • 举报
回复
把ID大的显示在第一页、现在ID最大的 是在最后一页
著名天才___ 2011-11-10
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 dalmeeme 的回复:]

取第一页用专门的sql语句形式:
select top 50 * from 测试 order by 主键字段
[/Quote]

你的这种方法正确了、

能不能 desc一下、把ID大的显示在第一页、现在ID最大的 是在最后一页、我刚刚自己改了下 不成功、求帮助
md5e 2011-11-10
  • 打赏
  • 举报
回复
主键字段>???

如果不是按主键来排序呢?
著名天才___ 2011-11-10
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 dalmeeme 的回复:]

取第一页用专门的sql语句形式:
select top 50 * from 测试 order by 主键字段
[/Quote]

噢、好吧、谢谢了
dalmeeme 2011-11-10
  • 打赏
  • 举报
回复
取第一页用专门的sql语句形式:
select top 50 * from 测试 order by 主键字段
著名天才___ 2011-11-10
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 dalmeeme 的回复:]

Access性能比较差,不能用not in,而要用max方法:
select top 50 * from 测试 where 主键字段>(select max(主键字段) from (select top 1000 主键字段 from 测试 order by 主键字段) order by 主键字段
[/Quote]

这个能取第一页么、 Access不能top 0哇、取第一页 咋个取呢
dalmeeme 2011-11-10
  • 打赏
  • 举报
回复
Access性能比较差,不能用not in,而要用max方法:
select top 50 * from 测试 where 主键字段>(select max(主键字段) from (select top 1000 主键字段 from 测试 order by 主键字段) order by 主键字段
著名天才___ 2011-11-10
  • 打赏
  • 举报
回复
求语句挖、
著名天才___ 2011-11-10
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 taomanman 的回复:]

引用 8 楼 zhumingtiancai 的回复:

引用 5 楼 taomanman 的回复:

引用 3 楼 zhumingtiancai 的回复:

引用 2 楼 zhumingtiancai 的回复:

引用 1 楼 taomanman 的回复:

Access没办法,没有存储过程可以利用,通常就是这样而已

为你的表连接索引,然后

SQL code

……
[/Quote]
ID 是自动编号的、
暖枫无敌 2011-11-10
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zhumingtiancai 的回复:]

引用 5 楼 taomanman 的回复:

引用 3 楼 zhumingtiancai 的回复:

引用 2 楼 zhumingtiancai 的回复:

引用 1 楼 taomanman 的回复:

Access没办法,没有存储过程可以利用,通常就是这样而已

为你的表连接索引,然后

SQL code

select top [每页N条记录] * from (s……
[/Quote]
你id字段是“自动编号”的不是???
BATTLERxANGE 2011-11-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zhumingtiancai 的回复:]

引用 2 楼 zhumingtiancai 的回复:

引用 1 楼 taomanman 的回复:

Access没办法,没有存储过程可以利用,通常就是这样而已

为你的表连接索引,然后

SQL code

select top [每页N条记录] * from (select top [每页N条记录]*[页号] * from 你的表名 order by [id])
ord……
[/Quote]

这是access的问题,如果order字段的值有重复就会导致取出的数据不正确,可以加一个index自增字段来排序
libo0952 2011-11-10
  • 打赏
  • 举报
回复
为什么不用Datalist的自动分页?
加载更多回复(8)

62,046

社区成员

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

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

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

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