博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sql server 分页
阅读量:5153 次
发布时间:2019-06-13

本文共 1451 字,大约阅读时间需要 4 分钟。

-- not in/top

select top 1000 * from SysACUser

where UserId not in (select top 1 UserId from SysACUser order by UserId)
order by UserId

-- not exists

select top 1000 * from SysACUser as a

where not exists (select 1 from ( select top 1000 UserId from SysACUser order by UserId ) as b where a.UserId
= b.UserId)
order by UserId

-- max top

select top 1000 * from SysACUser
where UserId > (select MAX(userid) from (select top 1000 UserId from SysACUser order by UserId) as a)
order by UserId

--row_number

select top 1000 * from (select ROW_NUMBER() over(order by UserId) rownumber , * from SysACUser) as a

where a.rownumber > 1000

select * from (select ROW_NUMBER() over(order by UserId) rownumber , * from SysACUser) as a
where a.rownumber > 1000 and a.rownumber <=2000

select * from (select ROW_NUMBER() over(order by UserId) rownumber , * from SysACUser) as a

where a.rownumber between 1001 and 2000

-- row_number() 变体, 不基于已有字段产生记录序号,先按 条件筛选排好序,再结果集上给一常量列用于产生记录序号。 效率最高

select * from(
select ROW_NUMBER() over(order by temp) rownumber,* from(
select top 4235 temp=0,* from SysACUser where 1=1 order by UserId
) as a
)as b
where rownumber > 3235

-- Offset-Fetch

--必须为 order by 子句 可以写为 order by(select 1) 

-- order by (select 1) 的意思为 SQL Server按照结果集的原始顺序返回,order by子句不对结果集排序

select * from SysACUser
order by (select 1)
offset 1001 rows
fetch next 1000 rows only

 

效率上来看  Offset-Fetch 最快 。

参考:QQ昵称为 死亡之旅 的笔记。

 :

 

转载于:https://www.cnblogs.com/Xupp/p/11081300.html

你可能感兴趣的文章
css3 2d转换3d转换以及动画的知识点汇总
查看>>
【Java】使用Eclipse进行远程调试,Linux下开启远程调试
查看>>
js对象属性方法
查看>>
对Vue为什么不支持IE8的解释之一
查看>>
Maven安装配置
查看>>
ORA-10635: Invalid segment or tablespace type
查看>>
计算机改名导致数据库链接的诡异问题
查看>>
Windows 8 操作系统 购买过程
查看>>
软件工程课程-个人编程作业
查看>>
Java8内存模型—永久代(PermGen)和元空间(Metaspace)(转)
查看>>
ObjectiveC基础教程(第2版)
查看>>
centos 引导盘
查看>>
Notes of Daily Scrum Meeting(12.8)
查看>>
Apriori算法
查看>>
onlevelwasloaded的调用时机
查看>>
求出斐波那契数组
查看>>
Vue.js 基础学习之组件通信
查看>>
lr_start_transaction/lr_end_transaction事物组合
查看>>
每天一个Linux命令 - 【chkconfig】
查看>>
△UVA10106 - Product(大数乘法)
查看>>