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;