Transact-SQL 参考
ORDER BY 子句

指定结果集的排序。除非同时指定了 TOP,否则 ORDER BY 子句在视图、内嵌函数、派生表和子查询中无效。

语法

[ ORDER BY { order_by_expression [ ASC | DESC ] }    [ ,...n ] ]

参数

order_by_expression

指定要排序的列。可以将排序列指定为列名或列的别名(可由表名或视图名限定)和表达式,或者指定为代表选择列表内的名称、别名或表达式的位置的负整数。

可指定多个排序列。ORDER BY 子句中的排序列序列定义排序结果集的结构。

ORDER BY 子句可包括未出现在此选择列表中的项目。然而,如果指定 SELECT DISTINCT,或者如果 SELECT 语句包含 UNION 运算符,则排序列必定出现在选择列表中。

此外,当 SELECT 语句包含 UNION 运算符时,列名或列的别名必须是在第一选择列表内指定的列名或列的别名。

说明  在 ORDER BY 子句中不能使用 ntexttext image 列。

ASC

指定按递增顺序,从最低值到最高值对指定列中的值进行排序。

DESC

指定按递减顺序,从最高值到最低值对指定列中的值进行排序。

空值被视为最低的可能值。

对 ORDER BY 子句中的项目数没有限制。然而,对于排序操作所需的中间级工作表的大小有 8,060 字节的限制。这限制了在 ORDER BY 子句中指定的列的合计大小。