您可能已经注意到,在前面的示例中,结果行没有按特定顺序显示。当行以某种有意义的方式排序时,通常更容易检查查询输出。要对结果进行排序,请使用 ORDER BY 子句。
    以下是动物的出生日期,按日期排序:

    1. mysql> SELECT name, birth FROM pet ORDER BY birth;
    2. +----------+------------+
    3. | name | birth |
    4. +----------+------------+
    5. | Buffy | 1989-05-13 |
    6. | Bowser | 1989-08-31 |
    7. | Fang | 1990-08-27 |
    8. | Fluffy | 1993-02-04 |
    9. | Claws | 1994-03-17 |
    10. | Slim | 1996-04-29 |
    11. | Whistler | 1997-12-09 |
    12. | Chirpy | 1998-09-11 |
    13. | Puffball | 1999-03-30 |
    14. +----------+------------+

    在字符类型列上,排序(与所有其他比较操作一样)通常以不区分大小写的方式执行。这意味着对于除大小写外相同的列,顺序是未定义的。您可以使用 BINARY 强制对列进行区分大小写的排序,如下所示:ORDER BY BINARY col_name。

    默认排序顺序是升序,最小值在前。要以反向(降序)顺序排序,请将 DESC 关键字添加到您要排序的列的名称:

    1. mysql> SELECT name, birth FROM pet ORDER BY birth DESC;
    2. +----------+------------+
    3. | name | birth |
    4. +----------+------------+
    5. | Puffball | 1999-03-30 |
    6. | Chirpy | 1998-09-11 |
    7. | Whistler | 1997-12-09 |
    8. | Slim | 1996-04-29 |
    9. | Claws | 1994-03-17 |
    10. | Fluffy | 1993-02-04 |
    11. | Fang | 1990-08-27 |
    12. | Bowser | 1989-08-31 |
    13. | Buffy | 1989-05-13 |
    14. +----------+------------+

    您可以对多列进行排序,并且可以对不同的列进行不同方向的排序。例如,要按动物类型升序排序,然后按动物类型中的出生日期降序排序(最小的动物优先),请使用以下查询:

    1. mysql> SELECT name, species, birth FROM pet
    2. ORDER BY species, birth DESC;
    3. +----------+---------+------------+
    4. | name | species | birth |
    5. +----------+---------+------------+
    6. | Chirpy | bird | 1998-09-11 |
    7. | Whistler | bird | 1997-12-09 |
    8. | Claws | cat | 1994-03-17 |
    9. | Fluffy | cat | 1993-02-04 |
    10. | Fang | dog | 1990-08-27 |
    11. | Bowser | dog | 1989-08-31 |
    12. | Buffy | dog | 1989-05-13 |
    13. | Puffball | hamster | 1999-03-30 |
    14. | Slim | snake | 1996-04-29 |
    15. +----------+---------+------------+

    DESC 关键字仅适用于紧接在其前面的列名(出生);它不影响物种列的排序顺序。