![MariaDB必知必会](https://wfqqreader-1252317822.image.myqcloud.com/cover/943/34339943/b_34339943.jpg)
上QQ阅读APP看书,第一时间看更新
5.2 以多列为标准排序
通常需要以多列为标准对数据进行排序,而不是一列。例如,如果你要显示员工列表,你可能会希望名字按照姓和名排序(首先按照姓排序,然后对相同姓按照名排序)。如果多个员工有相同的姓,这种排序就十分有用。
为了以多列为标准排序,只需要以逗号隔开指定的列名(就像你选择多列一样)。
下面的代码检索3列并且以两列为标准排序:首先是价格,然后是名字。
▼ 输入
![](https://epubservercos.yuewen.com/AE5E39/18365861508119506/epubprivate/OEBPS/Images/26-i.jpg?sign=1739648996-1HmMb9mXs31rOTGbwLbwxhqP4X5c28yP-0-74a4b1314dd0cc8feacfa5fd79017e18)
▼ 输出
![](https://epubservercos.yuewen.com/AE5E39/18365861508119506/epubprivate/OEBPS/Images/26a-i.jpg?sign=1739648996-DeKXIwuAA2MIPRyBRJ1pAqqdkKTy5gLb-0-13ebb7ef360e131bbaf6afdcc21416d0)
当以多列为标准进行排序时,排序的序列必须严格按照规定的顺序,理解这个很重要。换句话说,以上面的例子为例,仅当多行具有相同的prod_price值时,产品才以prod_name列为标准进行排序。如果prod_price列中的值都是唯一的,就没有数据以prod_name为标准进行排序了。
提示
ORDER BY语句的简写 除了在ORDER BY后面跟上列名外,也可以输入在SELECT语句中指定的列的顺序编号,如语句:
![](https://epubservercos.yuewen.com/AE5E39/18365861508119506/epubprivate/OEBPS/Images/26b-i.jpg?sign=1739648996-WPd4hlpc5c33whTS8Z0NdS39EUBmcu28-0-2dd780de68d4c41dcba98e692d6996b5)
与以下语句具有相同功能:
![](https://epubservercos.yuewen.com/AE5E39/18365861508119506/epubprivate/OEBPS/Images/27-i.jpg?sign=1739648996-YS0N2zMCaSWAb87lPZZXFke5MR479Bus-0-7dc86f89a32d0630331533eb7efc3d94)
显然,这个语法可以减少输入的次数。然而,记住,如果使用此简写,当改变SELECT语句的列时,ORDER BY语句基本上会出问题。