ORDER BY子句
適用於:磚的SQL磚運行時
返回結果行排序的方式在用戶指定的順序。不像排序條款,這一條款保證順序輸出。
語法
訂單通過{{所有(sort_direction](nulls_sort_oder]}|{表達式(sort_direction](nulls_sort_oder]}(,…]}sort_direction(ASC|DESC]nulls_sort_order(零位第一個|零位去年]
參數
所有
適用於:磚的SQL磚運行時12.1及以上
速記相當於指定所有的表情
選擇
列表的順序。如果sort_direction
或nulls_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