
上QQ阅读APP看书,第一时间看更新
5.2 以多列为标准排序
通常需要以多列为标准对数据进行排序,而不是一列。例如,如果你要显示员工列表,你可能会希望名字按照姓和名排序(首先按照姓排序,然后对相同姓按照名排序)。如果多个员工有相同的姓,这种排序就十分有用。
为了以多列为标准排序,只需要以逗号隔开指定的列名(就像你选择多列一样)。
下面的代码检索3列并且以两列为标准排序:首先是价格,然后是名字。
▼ 输入

▼ 输出

当以多列为标准进行排序时,排序的序列必须严格按照规定的顺序,理解这个很重要。换句话说,以上面的例子为例,仅当多行具有相同的prod_price值时,产品才以prod_name列为标准进行排序。如果prod_price列中的值都是唯一的,就没有数据以prod_name为标准进行排序了。
提示
ORDER BY语句的简写 除了在ORDER BY后面跟上列名外,也可以输入在SELECT语句中指定的列的顺序编号,如语句:

与以下语句具有相同功能:

显然,这个语法可以减少输入的次数。然而,记住,如果使用此简写,当改变SELECT语句的列时,ORDER BY语句基本上会出问题。