OVER ORDER BY 句で複数の列を指定する方法はありますか?
SELECT ROW_NUMBER() OVER(ORDER BY (A.Col1)) AS ID FROM MyTable A
上記は正常に機能しますが、2 番目の列を追加しようとしても機能しません。
SELECT ROW_NUMBER() OVER(ORDER BY (A.Col1, A.Col2)) AS ID FROM MyTable A
「,」付近の構文が正しくありません。
OVER ORDER BY 句で複数の列を指定する方法はありますか?
SELECT ROW_NUMBER() OVER(ORDER BY (A.Col1)) AS ID FROM MyTable A
上記は正常に機能しますが、2 番目の列を追加しようとしても機能しません。
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