日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯網營銷解決方案
MySQLORDERBY:對查詢結果排序
通過條件查詢語句可以查詢到符合用戶需求的數據,但是查詢到的數據一般都是按照數據最初被添加到表中的順序來顯示。為了使查詢結果的順序滿足用戶的要求,mysql 提供了
ORDER BY 關鍵字來對查詢結果進行排序。

在實際應用中經常需要對查詢結果進行排序,比如,在網上購物時,可以將商品按照價格進行排序;在醫(yī)院的掛號系統(tǒng)中,可以按照掛號的先后順序進行排序等。

ORDER BY 關鍵字主要用來將查詢結果中的數據按照一定的順序進行排序。其語法格式如下:

ORDER BY <字段名> [ASC|DESC]

語法說明如下。

  • 字段名:表示需要排序的字段名稱,多個字段時用逗號隔開。
  • ASC|DESC:ASC表示字段按升序排序;DESC表示字段按降序排序。其中ASC為默認值。

使用 ORDER BY 關鍵字應該注意以下幾個方面:

  • ORDER BY 關鍵字后可以跟子查詢(關于子查詢后面教程會詳細講解,這里了解即可)。
  • 當排序的字段中存在空值時,ORDER BY 會將該空值作為最小值來對待。
  • ORDER BY 指定多個字段進行排序時,MySQL 會按照字段的順序從左到右依次進行排序。

單字段排序

下面通過一個具體的實例來說明當 ORDER BY 指定單個字段時,MySQL 如何對查詢結果進行排序。

例 1

下面查詢 tb_students_info 表的所有記錄,并對 height 字段進行排序,SQL 語句和運行結果如下。

mysql> SELECT * FROM tb_students_info ORDER BY height;
+----+--------+---------+------+------+--------+------------+
| id | name   | dept_id | age  | sex  | height | login_date |
+----+--------+---------+------+------+--------+------------+
|  2 | Green  |       3 |   23 | F    |    158 | 2016-10-22 |
|  1 | Dany   |       1 |   25 | F    |    160 | 2015-09-10 |
|  4 | Jane   |       1 |   22 | F    |    162 | 2016-12-20 |
|  7 | Lily   |       6 |   22 | F    |    165 | 2016-02-26 |
| 10 | Tom    |       4 |   23 | M    |    165 | 2016-08-05 |
|  8 | Susan  |       4 |   23 | F    |    170 | 2015-10-01 |
|  6 | John   |       2 |   21 | M    |    172 | 2015-11-11 |
|  5 | Jim    |       1 |   24 | M    |    175 | 2016-01-15 |
|  9 | Thomas |       3 |   22 | M    |    178 | 2016-06-07 |
|  3 | Henry  |       2 |   23 | M    |    185 | 2015-05-31 |
+----+--------+---------+------+------+--------+------------+
10 rows in set (0.08 sec)

由結果可以看到,MySQL 對查詢的 height 字段的數據按數值的大小進行了升序排序。

多字段排序

下面通過一個具體的實例來說明當 ORDER BY 指定多個字段時,MySQL 如何對查詢結果進行排序。

例 2

查詢 tb_students_info 表中的 name 和 height 字段,先按 height 排序,再按 name 排序,SQL 語句和運行結果如下。

mysql> SELECT name,height FROM tb_students_info ORDER BY height,name;
+--------+--------+
| name   | height |
+--------+--------+
| Green  |    158 |
| Dany   |    160 |
| Jane   |    162 |
| Lily   |    165 |
| Tom    |    165 |
| Susan  |    170 |
| John   |    172 |
| Jim    |    175 |
| Thomas |    178 |
| Henry  |    185 |
+--------+--------+
10 rows in set (0.09 sec)

注意:在
對多個字段進行排序時,排序的第一個字段必須有相同的值,才會對第二個字段進行排序。如果第一個字段數據中所有的值都是唯一的,MySQL 將不再對第二個字段進行排序。

默認情況下,查詢數據按字母升序進行排序(A~Z),但數據的排序并不僅限于此,還可以使用 ORDER BY 中的 DESC 對查詢結果進行降序排序(Z~A)。

例 3

查詢 tb_students_info 表,先按 height 降序排序,再按 name 升序排序,SQL 語句和運行結果如下。

mysql> SELECT name,height FROM tb_student_info ORDER BY height DESC,name ASC;
+--------+--------+
| name   | height |
+--------+--------+
| Henry  |    185 |
| Thomas |    178 |
| Jim    |    175 |
| John   |    172 |
| Susan  |    170 |
| Lily   |    165 |
| Tom    |    165 |
| Jane   |    162 |
| Dany   |    160 |
| Green  |    158 |
+--------+--------+
10 rows in set (0.00 sec)

DESC 關鍵字只對前面的列進行降序排列,在這里只對 height 字段進行降序。因此,height 按降序排序,而 name 仍按升序排序。如果想在多個列上進行降序排序,必須對每個列指定 DESC 關鍵字。


本文名稱:MySQLORDERBY:對查詢結果排序
文章路徑:http://www.dlmjj.cn/article/dpihicp.html