MySQL(8.0) row_number() 函数的使用

MySQL(8.0) row_number() 函数的使用

手动分页查询的时候接触到了 row_number() 函数。

1、介绍

row_number() 函数多用于对数据进行排序,返回的数据项多增加一个序号。

如:按照年龄对用户进行排序,并返回序号:

select row_number() over( order By age) as rownumber, u.name, u.age, u.email from user u

MySQL(8.0) row_number() 函数的使用

2、分页查询

上文可知 row_number() 可以排序并返回序号,想实现分页查询可在外面嵌套一个 select,根据序号对数据进行限制。

如;返回五名年龄最小的用户:

select * from 
(select row_number() over( order By age) as rownumber, u.name, u.age, u.email from user u) uu 
where uu.rownumber <= 5

MySQL(8.0) row_number() 函数的使用

手动分页查询一般需要传入两个参数,page 代表第几页, pageSize 代表一页数量,

当 page = 2, pageSize = 3 时,sql大致如下:

select uu.* from 
(select row_number() over( order By age) as rownumber, u.name, u.age, u.email from user u) uu 
where uu.rownumber >(2-1)*3 and uu.rownumber <=2*3

MySQL(8.0) row_number() 函数的使用

上一篇:洛谷P1383【高级打字机】题解


下一篇:安卓学习-界面-View的自定义