Mysql limit offset示例
例1,假设数据库表student存在13条数据。
语句1:select * from student limit 9,4
语句2:slect * from student limit 4 offset 9
// 语句1和2均返回表student的第10、11、12、13行 //语句2中的4表示返回4行,9表示从表的第十行开始
例2,通过limit和offset 或只通过limit可以实现分页功能。
假设 numberperpage 表示每页要显示的条数,pagenumber表示页码,那么
返回第pagenumber页,每页条数为numberperpage的sql语句:
语句3:
select * from studnet limit (pagenumber-1)*numberperpage,numberperpage
语句4:
select * from student limit numberperpage offset (pagenumber-1)*numberperpage
第二高的查询
1.剔除法:先查询出最大值后,再查一下一次出了第一次最大值外的最大值
select max(Salary) as SecondHighestSalary from Employee
where Salary<(select max(Salary) from Employee)
2.使用 limit offset函数来查询
2.1.使用子查询和限定条件
select (
select DISTINCT Salary //去重
from Employee
ORDER BY Salary DESC //降序排列
limit 1 offset 1 //从第一条数据读取(offset 1 ,但不包括第一条),往后读取一条数据(limit 1 ),即第二条;
) as SecondHightestSalary;
2.2.使用IFFULL语句和LIMIT语句
select
IFFULL(
( select DISTINCT Salary
from Employee
ORDER BY Salary DESC
limit 1 offset 1),NULL
) as SecondHightestSalary;