江戶川亂折騰
2019-07-31 18:34:20
MYSQL - ORDER BY&LIMIT我有一個看起來像這樣的查詢:SELECT article FROM table1 ORDER BY publish_date LIMIT 20ORDER BY如何工作?它會訂購所有記錄,然后獲得前20個記錄,還是會得到20個記錄并按publish_date現場訂購?如果它是最后一個,你不能保證真正得到最近的20篇文章。
3 回答

catspeake
TA貢獻1111條經驗 獲得超0個贊
LIMIT子句可用于約束SELECT語句返回的行數。LIMIT需要一個或兩個數字參數,它們都必須是非負整數常量(使用預準備語句時除外)。
使用兩個參數,第一個參數指定要返回的第一行的偏移量,第二個參數指定要返回的最大行數。初始行的偏移量為0(不是1):
SELECT * FROM tbl LIMIT 5,10; # Retrieve rows 6-15
要從特定偏移量檢索所有行直到結果集的末尾,可以使用一些大數字作為第二個參數。此語句檢索從第96行到最后一行的所有行:
SELECT * FROM tbl LIMIT 95,18446744073709551615;
使用一個參數,該值指定從結果集的開頭返回的行數:
SELECT * FROM tbl LIMIT 5; # Retrieve first 5 rows
換句話說,LIMIT row_count相當于LIMIT 0,row_count。

天涯盡頭無女友
TA貢獻1831條經驗 獲得超9個贊
您可以在訂單末尾添加[asc]或[desc]以獲取最早或最新的記錄
例如,這將首先為您提供最新記錄
ORDER BY stamp DESC
在LIMIT
之后附加該條款ORDER BY
添加回答
舉報
0/150
提交
取消