今天在這里給大家分享一下oracle和mysql的兩種分頁查詢。
oracle的分頁
SELECT * FROM
(
SELECT A.*, ROWNUM RN
FROM (SELECT * FROM TABLE_NAME) A
WHERE ROWNUM <= 40
)
WHERE RN >= 21
oracle的分頁需要用到ROWNUM函數(shù),因?yàn)閛racle的查詢中是不能使用小于的,需要?jiǎng)?chuàng)建偽列來進(jìn)行查詢。
mysql的分頁
--語法:
SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset
--舉例:
select * from table limit 5; --返回前5行
select * from table limit 0,5; --同上,返回前5行
select * from table limit 5,10; --返回6-15行
mysql的分頁主要用的書limit這個(gè)函數(shù)。當(dāng)一個(gè)查詢語句偏移量offset很大的時(shí)候,如select * from table limit 10000,10 , 最好不要直接使用limit,而是先獲取到offset的id后,再直接使用limit size來獲取數(shù)據(jù)。效果會好很多。
如:
select * From customers Where customer_id >=(
select customer_id From customers Order By customer_id limit 10000,1
) limit 10;
今天數(shù)據(jù)庫分頁查詢分享到此結(jié)束;
原文作者技術(shù)博客:http://www.itdecent.cn/u/ac4daaeecdfe
95后前端妹子一枚,愛閱讀,愛交友,將工作中遇到的問題記錄在這里,希望給每一個(gè)看到的你能帶來一點(diǎn)幫助。
歡迎留言交流