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