ORDER BY子句

适用于:检查标记是的砖的SQL检查标记是的砖运行时

返回结果行排序的方式在用户指定的顺序。不像排序条款,这一条款保证顺序输出。

语法

订单通过{{所有(sort_direction](nulls_sort_oder]}|{表达式(sort_direction](nulls_sort_oder]}(,]}sort_direction(ASC|DESC]nulls_sort_order(零位第一个|零位去年]

参数

  • 所有

    适用于:检查标记是的砖的SQL检查标记是的砖运行时12.1及以上

    速记相当于指定所有的表情选择列表的顺序。如果sort_directionnulls_sort_order指定它们适用于每个表达式。

  • 表达式

    任何类型的一个表达式用于建立一个顺序返回结果。

    如果表达式文字INT值解释为一个列在选择列表中的位置。

  • sort_direction

    指定的顺序的排序顺序表达式。

    • ASC:这个表达式的排序方向提升。

    • DESC:这个表达式的排序顺序降序。

    如果没有显式地指定排序方向,那么默认行升序排序。

  • nulls_sort_order

    之前/之后可以选择性地指定是否返回NULL值非空值。如果null_sort_order没有指定,那么取消第一如果排序顺序是ASC去年如果排序顺序和nullDESC

    • 零位第一个:返回NULL值首先不管排序顺序。

    • 零位去年:返回NULL值的最后不管排序顺序。

当指定多个表达式排序发生左到右。第一个表达式所有行进行排序。如果有重复的值的表达式的第二个表达式是用来解决集团内的订单副本等等。结果为了不确定的所有订单如果有重复的值的表达式。

例子

>创建(idINT,的名字字符串,年龄INT);>插入(One hundred.,“约翰。”,30.),(200年,“玛丽”,),(300年,“迈克”,80年),(400年,“杰瑞”,),(500年,“丹”,50);——行按年龄排序。默认情况下先用空行按升序排序的方式。>选择的名字,年龄订单通过年龄;杰里玛丽约翰30.50迈克80年——一行以升序的方式保持去年null值。>选择的名字,年龄订单通过年龄零位去年;约翰30.50迈克80年玛丽杰里——以降序方式行按年龄排序,默认为空。>选择的名字,年龄订单通过年龄DESC;迈克80年50约翰30.杰里玛丽——一行以升序的方式保持第一个null值。>选择的名字,年龄订单通过年龄DESC零位第一个;杰里玛丽迈克80年50约翰30.——基于多个列排序行每个列都有不同——排序方向。>选择*订单通过的名字ASC,年龄DESC;500年50400年杰里One hundred.约翰30.200年玛丽300年迈克80年——行基于排序选择列表中的所有列>选择*订单通过所有ASC;One hundred.约翰30.200年玛丽300年迈克80年400年杰里500年50