程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> MySQL中對查詢結果排序和限定結果的返回數量的用法教程

MySQL中對查詢結果排序和限定結果的返回數量的用法教程

編輯:關於MYSQL數據庫

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的限制條件,當系統查詢到一條數據後即停止搜索而不會繼續查找下一條記錄,這樣可有效提高查詢效率。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved