设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

sql如何返回第三或从第三条记录开始返回(分页问题)?

1970-1-1 08:00| 发布者: ec| 查看: 1959| 评论: 0

问题:

如何用sql返回第三条或者第三条记录开始返回?
从数据库中的表中从第三条记录开始取,那么select该怎么写呢?

回答:


select * from table_name where id_field not in (select top 3 id_field from table_name)

注意,其实就是把 select top 语句写两遍,第二遍包含了第一遍,然后把是第一遍中的记录用not in剔除就可以了,所以两个where都必须包含相同的外加条件。

asp 中经常用来写 pageno 的程序,因为直接用ado的pagesize如果遇上几十万数据,用pagesize就完蛋喽。

关于 not in 语句速度比较慢,某人提示将not in改为

select table2.* from table2 left join table1 on table2.key=table1.key where (able1.key is null)

返回第3条记录用:

select top 1 * from (SELECT top 3 a.编号 FROM a order by 编号) as b order by 编号 desc

如果用来进行分页,返回第100-150条记录,可以用

select top 50 * from (SELECT top 150 a.编号 FROM a order by 编号) as b order by 编号 desc

 

最新评论

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-16 03:12 , Processed in 0.067198 second(s), 16 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回顶部