MySQL Order By 查詢結果排序
ORDER BY
SQL 語法中 ORDER BY 關鍵字用於對查詢結果進行排序。
排序分為升序(ASC)和降序(DESC)兩種,當不使用 ORDER BY 指定排序方式時,默認為升序。
語法:
SELECT column,… FROM tb_name ORDER BY column1,column2,… DESC(ASC)
ORDER BY 後面必須列出排序的字段名,可以是多個字段。
對 user 表 uid 進行降序查詢:
SELECT uid,username FROM user ORDER BY uid DESC
查詢結果如下:
uid username 4 小王 3 Jack 2 小明 1 Admin
例子 2:
SELECT username FROM user ORDER BY regdate DESC LIMIT 10
該例子查詢出最新注冊的 10 名用戶的用戶名。
MySQL Limit 限定查詢記錄數
MySQL LIMIT
MySQL 中 LIMIT 關鍵字用於限定查詢記錄返回最大數目。
語法:
... LIMIT offset , rows
該語法中,offset表示偏移量(指向數據記錄的游標),rows表示查詢限定返回的最大記錄數,這兩個參數必須為整數。
例子:
SELECT username FROM user LIMIT 4,10
如果 user 表中的數據記錄超過14條的話,該例子將會返回符合結果的第 5-14 條記錄(共 10 條),注意默認偏移量是從 0 開始的。
offset 參數如果省略,則默認為 0 ,即 LIMIT 10 等同於 LIMIT 0,10 (返回符合查詢條件的前 10 條記錄)。
提示
LIMIT 中 rows 並不支持取值 -1 (從當前偏移量到表記錄結束的所有數據),如:
SELECT username FROM user LIMIT 9,-1
運行該 SQL 會產生參數錯誤。
小技巧
當你確認查詢結果只有一條數據時(如核對用戶名密碼),可以加上LIMIT 1的限制條件,當系統查詢到一條數據後即停止搜索而不會繼續查找下一條記錄,這樣可有效提高查詢效率。