Skip to main content

Limit

Limit分頁查詢

  • 只將查詢結果的前幾筆資料列出
  • 會先執行m偏移量,再取n筆資料
  • 可用於取得各分頁資料,例如取得第一頁(n=10,m=0) 第二頁(n=10,m=10)
################# 語法如下:
SELECT columnname
FROM tablename
LIMIT n OFFSET m;

################# 範例如下:
SELECT * FROM book LIMIT 10 offset 10; #第1頁
SELECT * FROM book LIMIT 10 offset 10; #第2頁
SELECT * FROM book LIMIT 10 offset 20; #第3頁

Rank排名查詢

  • 如果相同值資料要並列,要使用RANK()排名次,欄位值相同,名次也會相同
################# 語法如下:
RANK() OVER(
ORDER BY <expression> <ASC|DESC>
)

################# 範例如下:
SELECT bookaname, price, RANK() OVER(order by price) pricerank FROM book;

SELECT * FROM (
select p.isbn, bookname, sum(quantity), rank() over(order by sum(quantity) desc) sumrank
FROM purchase p join book on p.isbn=b.isbn
GROUP BY p.isbn, bookname) purchaserank
WHERE sumrank <=3;