会员登录 - 用户注册 - 网站地图 Office中国(office-cn.net),专业Office论坛
当前位置:主页 > 技巧 > Access技巧 > 查询视图 > 正文

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

时间:2003-12-06 20:27 来源:ACCESS911 作者:ec 阅读:

问题:

如何用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

 

(责任编辑:admin)

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价: