MySQL™ 參考手冊(排序行)

排序行

你可能已在前面的示例中注意到結果行沒有按特定順序顯示,當行以某種有意義的方式排序時,一般更容易檢查查詢輸出,要對結果進行排序,請使用ORDER BY子句。mysql

這是動物的生日,按日期排序:sql

mysql> SELECT name, birth FROM pet ORDER BY birth;
+----------+------------+
| name     | birth      |
+----------+------------+
| Buffy    | 1989-05-13 |
| Bowser   | 1989-08-31 |
| Fang     | 1990-08-27 |
| Fluffy   | 1993-02-04 |
| Claws    | 1994-03-17 |
| Slim     | 1996-04-29 |
| Whistler | 1997-12-09 |
| Chirpy   | 1998-09-11 |
| Puffball | 1999-03-30 |
+----------+------------+

在字符類型列上,排序與全部其餘比較操做同樣,一般以不區分大小寫的方式執行,這意味着除了大小寫不一樣外,對於相同的列,順序是未定義的,你能夠使用BINARY強制對列進行區分大小寫的排序,以下所示:ORDER BY BINARY col_namesegmentfault

默認排序順序是升序,首先是最小值,要按反向(降序)排序,請將DESC關鍵字添加到要排序的列的名稱:code

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 |
| Fang     | 1990-08-27 |
| Bowser   | 1989-08-31 |
| 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 |
| Fang     | dog     | 1990-08-27 |
| Bowser   | dog     | 1989-08-31 |
| Buffy    | dog     | 1989-05-13 |
| Puffball | hamster | 1999-03-30 |
| Slim     | snake   | 1996-04-29 |
+----------+---------+------------+

DESC關鍵字僅適用於緊接其以前的列名(birth),它不會影響species列的排序順序。ci


上一篇:從表中檢索信息

相關文章
相關標籤/搜索