国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

mysql如何達成升序查詢

2024-07-24 12:33:28
字體:
供稿:網(wǎng)友
  在mysql中,可以利用“SELECT”語句和“ORDER BY”關(guān)鍵字實現(xiàn)升序查詢。
 
  SELECT 語句用于查詢數(shù)據(jù),ORDER BY 關(guān)鍵字主要用來將查詢結(jié)果中的數(shù)據(jù)按照一定的順序進行排序。
 
  基本語法:
 
  SELECT {*|字段列名} FROM 表名 [WHERE 條件] GROUP BY 字段名 [ASC|DESC];
  語法說明如下。
 
  字段名:表示需要排序的字段名稱,多個字段時用逗號隔開。
  ASC|DESC:ASC表示字段按升序排序;DESC表示字段按降序排序。其中ASC為默認值。
  使用 ORDER BY 關(guān)鍵字應該注意以下幾個方面:
 
  ORDER BY 關(guān)鍵字后可以跟子查詢(關(guān)于子查詢后面教程會詳細講解,這里了解即可)。
  當排序的字段中存在空值時,ORDER BY 會將該空值作為最小值來對待。
  ORDER BY 指定多個字段進行排序時,MySQL 會按照字段的順序從左到右依次進行排序。
  單字段排序
 
  下面通過一個具體的實例來說明當 ORDER BY 指定單個字段時,MySQL 如何對查詢結(jié)果進行排序。
 
  例 1
 
  下面查詢 tb_students_info 表的所有記錄,并對 height 字段進行排序,SQL 語句和運行結(jié)果如下。
 
  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)
  由結(jié)果可以看到,MySQL 對查詢的 height 字段的數(shù)據(jù)按數(shù)值的大小進行了升序排序。
 
  多字段排序
 
  下面通過一個具體的實例來說明當 ORDER BY 指定多個字段時,MySQL 如何對查詢結(jié)果進行排序。
 
  例 2
 
  查詢 tb_students_info 表中的 name 和 height 字段,先按 height 排序,再按 name 排序,SQL 語句和運行結(jié)果如下。
 
  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)
  注意:在對多個字段進行排序時,排序的第一個字段必須有相同的值,才會對第二個字段進行排序。如果第一個字段數(shù)據(jù)中所有的值都是唯一的,MySQL 將不再對第二個字段進行排序。
 
  默認情況下,查詢數(shù)據(jù)按字母升序進行排序(A~Z),但數(shù)據(jù)的排序并不僅限于此,還可以使用 ORDER BY 中的 DESC 對查詢結(jié)果進行降序排序(Z~A)。
 
  例 3
 
  查詢 tb_students_info 表,先按 height 降序排序,再按 name 升序排序,SQL 語句和運行結(jié)果如下。
 
  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 關(guān)鍵字只對前面的列進行降序排列,在這里只對 height 字段進行降序。因此,height 按降序排序,而 name 仍按升序排序。如果想在多個列上進行降序排序,必須對每個列指定 DESC 關(guān)鍵字。
 
  以上是“mysql如何實現(xiàn)升序查詢”這篇文章的所有內(nèi)容,感謝各位的閱讀!

(編輯:武林網(wǎng))

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 长沙市| 鄂州市| 澄江县| 蒙自县| 博湖县| 甘肃省| 甘泉县| 涡阳县| 合肥市| 静安区| 新龙县| 高安市| 洪泽县| 岑巩县| 永安市| 高安市| 江陵县| 枞阳县| 安仁县| 玉溪市| 新昌县| 文水县| 巴中市| 闽侯县| 文山县| 上蔡县| 万安县| 广河县| 峨眉山市| 云和县| 宝应县| 福建省| 平凉市| 抚州市| 叶城县| 湖北省| 金堂县| 中江县| 扎赉特旗| 东丽区| 新竹县|