MySQL 8.0参考手册
MySQL 8.0发布说明
您可能已经注意到,在前面的示例中,结果行没有按特定的顺序显示。当行以某种有意义的方式排序时,检查查询输出通常会更容易。要对结果排序,请使用命令
条款。
以下是动物的生日,按日期分类:
mysql> SELECT name, birth FROM pet ORDER BY birth+----------+------------+ | 名字|出生 | +----------+------------+ | 巴菲| 1989-05-13 | |包泽| 1989-08-31 |方| | 1990-08-27 | |的| 1993-02-04 | |爪子| 1994-03-17 | |苗条| 1996-04-29 | |惠斯勒| 1997-12-09 | |欢快| 1998-09-11 | |马勃| 1999-03-30 | +----------+------------+
对于字符类型列,排序——就像所有其他比较操作一样——通常以不区分大小写的方式执行。这意味着,对于除了大小写不同之外完全相同的列,其顺序没有定义。可以强制对列进行区分大小写的排序二进制
像这样:按二进制
.col_name
默认排序顺序为升序,最小值在前。若要按倒序(降序)排序,请添加DESC
关键字到您正在排序的列的名称:
mysql> SELECT name, birth FROM pet ORDER BY birth DESC;+----------+------------+ | 名字|出生 | +----------+------------+ | 马勃| 1999-03-30 | |欢快| 1998-09-11 | |惠斯勒| 1997-12-09 | |苗条| 1996-04-29 | |爪子| 1994-03-17 | |的| 1993-02-04 |方| | 1990-08-27 | |包泽| 1989-08-31 | |巴菲| 1989-05-13 | +----------+------------+
可以对多个列进行排序,也可以按不同方向对不同列进行排序。例如,要按动物类型升序排序,然后按动物类型中的出生日期降序排序(最年轻的动物优先),可以使用以下查询:
mysql> SELECT name, species, birth FROM pet ORDER BY species, birth DESC;+----------+---------+------------+ | 物种名称| | | +----------+---------+------------+ | 鸟欢快的鸟| | 1998-09-11 | |惠斯勒| | 1997-12-09 | |猫爪子| | 1994-03-17 | |毛茸茸的猫| | 1993-02-04 | |方狗| | 1990-08-27 | |包泽狗| | 1989-08-31 | |巴菲狗| | 1989-05-13 | |马勃|仓鼠| 1999-03-30 | |蛇苗条| | 1996-04-29 | +----------+---------+------------+
的DESC
关键字仅适用于紧接在其前面的列名(出生
);不影响物种
列排序顺序。