使用SQL ORDER BY子句对结果集进行排序
ORDER BY
要对SELECT语句返回的结果集进行排序,可以使用ORDER BY子句。
下面的查询演示了如何在SELECT语句中使用ORDER BY子句:
SELECT
column1, column2
FROM
table
ORDER
BY
(expr |
column
)
ASC
,
DESC
;
ORDER BY子句允许您根据列(column)或表达式(expr)对结果集进行排序,列中的值或表达式的返回值必须是可排序的,即返回结果的数据类型必须是字符、数字或日期时间。
对结果集按升序排序使用ASC关键字,按降序排序使用DESC关键字。 默认是(ASC)按照升序进行排序。
要对多个列进行排序,只需在ORDER BY子句中指定其他列,并用逗号(,)隔开。
可以按升序对一列进行排序,也可以按降序对另一列进行排序。
按照单品的价格升序进行排序
itemid, listprice, attr1
item
listprice
先按单位成本(unitcost)降序排列,再按价格(listprice)升序进行排列
unitcost
, listprice
ORDER BY子句也可以是表达式。例如,可以使用CONCAT字符串函数创建员工的全名,然后按照全名对结果集进行排序:
CONCAT(lastname,
','
, firstname) fullname
employees
, firstname);
列别名用于对结果集的输出进行格式化。您也可以在ORDER BY子句中使用列别名,而不是使用表达式。查询结果是一样的:
fullname;
SELECT子句中会根据列的位置从1、2、3开始分配一个编号。在ORDER BY中可以使用这个编号来对结果集进行排序。
SELECT子句
例如,根据第3列unitcost进行排序
itemid, listprice,unitcost, attr1
3;
原文链接:https://codingdict.com/