有多個列在OVER ORDER BY子句中是否有指定多個列的方法?OVER ORDER BY
SELECT ROW_NUMBER() OVER(ORDER BY (A.Col1)) AS ID FROM MyTable A
上述工作正常,但試圖添加第二列不起作用。
SELECT ROW_NUMBER() OVER(ORDER BY (A.Col1, A.Col2)) AS ID FROM MyTable A
附近有語法錯誤 ''。
有多個列在OVER ORDER BY子句中是否有指定多個列的方法?OVER ORDER BY
SELECT ROW_NUMBER() OVER(ORDER BY (A.Col1)) AS ID FROM MyTable A
上述工作正常,但試圖添加第二列不起作用。
SELECT ROW_NUMBER() OVER(ORDER BY (A.Col1, A.Col2)) AS ID FROM MyTable A
附近有語法錯誤 ''。
問題是圍繞列名稱的額外括號。這些都應該工作:
-- The standard way
SELECT ROW_NUMBER() OVER(ORDER BY A.Col1) AS ID FROM MyTable A
SELECT ROW_NUMBER() OVER(ORDER BY A.Col1, A.Col2) AS ID FROM MyTable A
-- Works, but unnecessary
SELECT ROW_NUMBER() OVER(ORDER BY (A.Col1), (A.Col2)) AS ID FROM MyTable A
此外,當您問一個SQL問題時,您應該始終指定您查詢哪個數據庫。
沒有括號。
SELECT ROW_NUMBER() OVER(ORDER BY A.Col1, A.Col2) AS ID FROM MyTable A
這是不可能的Row_Num
你可以看到語法:
ROW_NUMBER ()
OVER ([ PARTITION BY value_expression , ... [ n ] ] order_by_clause)
如果使用額外的順序由申請在GROUP BY你可以做到這一點..