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;