SQL Server中的分页

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
简介: sqlserver2000时的分页思路 1.分页查询时,首先将数据排序 select * from MyStudent order by fid desc 2.取第一页数据 select Top 5 * from MyStudent order by fid desc 3.
sqlserver2000时的分页思路
1.分页查询时,首先将数据排序
    select * from MyStudent order by fid desc
2.取第一页数据
    select Top 5 * from MyStudent order by fid desc
3.取第二页数据
    select Top 5 * from MyStudent 
    where fid not in
    (
        select Top 5 * from MyStudent order by fid desc
    )
    order by fid desc
4.取第三页的数据
    select Top 5 * from MyStudent 
    where fid not in
    (
        select Top (2*5) * from MyStudent order by fid desc
    )
    order by fid desc
4.取第四页的数据
    select Top 5 * from MyStudent 
    where fid not in
    (
        select Top (3*5) * from MyStudent order by fid desc
    )
    order by fid desc
    
sqlserver2005时的分页思路    

--第7页数据
select * from
(
    select *,row_number() over(order by fid desc) as runumber
    from MyStudent
) as tbl
where tbl.rnumber between 6*5+1 and 7*5

--第20页数据
select * from
(
    select *,row_number() over(order by fid desc) as runumber
    from MyStudent
) as tbl
where tbl.rnumber between 19*5+1 and 20 *5


--开窗函数与聚合函数一起使用,可以让聚合函数对每一条数据都计算一次
select *,count(*) over() as 总条数 from MyStudent 

 

相关文章
|
4月前
|
SQL Java 数据库连接
Java中实现SQL分页的方法
无论何种情况,选择适合自己的,理解了背后的工作原理,并能根据实际需求灵活变通的方式才是最重要的。
98 9
|
10月前
|
SQL 缓存 Java
【详细实用のMyBatis教程】获取参数值和结果的各种情况、自定义映射、动态SQL、多级缓存、逆向工程、分页插件
本文详细介绍了MyBatis的各种常见用法MyBatis多级缓存、逆向工程、分页插件 包括获取参数值和结果的各种情况、自定义映射resultMap、动态SQL
【详细实用のMyBatis教程】获取参数值和结果的各种情况、自定义映射、动态SQL、多级缓存、逆向工程、分页插件
|
10月前
|
SQL 存储 PHP
解决高版本laravel/framework中SQLServer2008分页报错问题
【11月更文挑战第15天】在高版本的Laravel框架中,使用SQLServer 2008数据库进行分页操作时可能会遇到兼容性问题,导致报错。本文提供了两种解决方案:一是升级数据库版本至2012或更高,以提高对复杂查询的支持;二是通过自定义分页查询构建器,手动调整分页逻辑,使其适应SQLServer 2008的特性。具体实施步骤包括备份数据、安装新数据库版本、恢复数据,或创建自定义分页查询类并在模型中使用。这些方法能有效解决分页报错问题。
102 3
|
10月前
|
SQL PHP 数据库
解决高版本laravel/framework中SQLServer2008分页报错问题
【11月更文挑战第6天】在高版本的 `laravel/framework` 中使用 SQL Server 2008 进行数据库操作时,可能会出现分页报错。这是由于 `laravel` 的分页机制与 SQL Server 2008 的某些特性不兼容所致。解决方法包括:1. 升级数据库版本;2. 自定义分页查询语句;3. 使用兼容包或插件;4. 修改 `laravel` 的分页逻辑。
109 3
|
SQL 关系型数据库 MySQL
SQL中如何实现分页?
【8月更文挑战第3天】SQL中如何实现分页?
372 36
|
12月前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
393 13
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
255 9
|
SQL 存储 网络安全
关系数据库SQLserver 安装 SQL Server
【7月更文挑战第26天】
163 6
|
存储 SQL C++
对比 SQL Server中的VARCHAR(max) 与VARCHAR(n) 数据类型
【7月更文挑战7天】SQL Server 中的 VARCHAR(max) vs VARCHAR(n): - VARCHAR(n) 存储最多 n 个字符(1-8000),适合短文本。 - VARCHAR(max) 可存储约 21 亿个字符,适合大量文本。 - VARCHAR(n) 在处理小数据时性能更好,空间固定。 - VARCHAR(max) 对于大文本更合适,但可能影响性能。 - 选择取决于数据长度预期和业务需求。
973 1

热门文章

最新文章