ORDER BY子句

適用於:檢查標記是的磚的SQL檢查標記是的磚運行時

返回結果行排序的方式在用戶指定的順序。不像排序條款,這一條款保證順序輸出。

語法

訂單通過{表達式(sort_direction|nulls_sort_oder]}(,]sort_direction(ASC|DESC]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年