MysQL培訓課程:Order by查詢排序
最新學訊:近期OCP認證正在報名中,因考試人員較多請盡快報名獲取最近考試時間,報名費用請聯系在線老師,甲骨文官方認證,報名從速!
我要咨詢MysQL培訓課程:Order by查詢排序,使用ORDER BY子句對查詢返回的結果按一列或多列排序。ORDER BY子句的語法格式為:
ORDER BY column_name [ASC|DESC] [,…]
其中ASC表示升序,為默認值,DESC為降序。ORDER BY不能按text、text和image數據類型進行排 序。另外,可以根據表達式進行排序。
例如,這里是動物生日,按日期排序:
mysql> SELECT name, birth FROM pet ORDER BY birth;
+----------+------------+
| name | birth |
+----------+------------+
| Buffy | 1989-05-13 |
| Fang | 1990-08-27 |
| Bowser | 1990-08-31 |
| Fluffy | 1993-02-04 |
| Claws | 1994-03-17 |
| Slim | 1996-04-29 |
| Whistler | 1997-12-09 |
| Chirpy | 1998-09-11 |
| Puffball | 1999-03-30 |
+----------+------------+
為了以逆序排序,增加DESC(下降 )關鍵字到你正在排序的列名上:
mysql> SELECT name, birth FROM pet ORDER BY birth DESC;
+----------+------------+
| name | birth |
+----------+------------+
| Puffball | 1999-03-30 |
| Chirpy | 1998-09-11 |
| Whistler | 1997-12-09 |
| Slim | 1996-04-29 |
| Claws | 1994-03-17 |
| Fluffy | 1993-02-04 |
| Bowser | 1990-08-31 |
| Fang | 1990-08-27 |
| Buffy | 1989-05-13 |
+----------+------------+
能在多個列上排序。
例如,按動物的種類排序,然后按生日,首先是動物種類中最年輕的動物,使用下列查詢:
mysql> SELECT name, species, birth FROM pet ORDER BY species, birth DESC;
+----------+---------+------------+
| name | species | birth |
+----------+---------+------------+
| Chirpy | bird | 1998-09-11 |
| Whistler | bird | 1997-12-09 |
| Claws | cat | 1994-03-17 |
| Fluffy | cat | 1993-02-04 |
| Bowser | dog | 1990-08-31 |
| Fang | dog | 1990-08-27 |
| Buffy | dog | 1989-05-13 |
| Puffball | hamster | 1999-03-30 |
| Slim | snake | 1996-04-29 |
+----------+---------+------------+
注意DESC關鍵詞僅適用于緊跟在它之前的列名字(birth);species值仍然以升序被排序。注意,輸出首先按照species排序,然后具有相同species的寵物再按照birth降序排列。