ROW_NUMBER() 是 SQL 中的一個窗口函數,用于在結果集中為每一行分配一個唯一的連續整數,根據指定的排序順序。這個函數在分析數據或執行排名查詢時非常有用。
使用 ROW_NUMBER() 函數時,你需要指定一個 OVER 子句來定義排序的列和順序。以下是一個基本的 ROW_NUMBER() 使用示例:
SELECT
column1,
column2,
ROW_NUMBER() OVER (ORDER BY column1 DESC) AS row_num
FROM
your_table;
在這個例子中,your_table 是你的數據表名,column1 和 column2 是你想要包含在結果集中的列。OVER (ORDER BY column1 DESC) 部分定義了如何對行進行排序:這里我們按照 column1 列的降序排列。
ROW_NUMBER() 函數會為每一行分配一個唯一的行號,根據指定的排序順序。在這個例子中,行號將根據 column1 列的降序排列分配。
請注意,如果你想要按照不同的列或不同的順序對行進行排名,只需在 OVER 子句中相應地修改 ORDER BY 部分即可。例如,如果你想要按照 column1 的升序排列并分配行號,你可以這樣寫:
SELECT
column1,
column2,
ROW_NUMBER() OVER (ORDER BY column1 ASC) AS row_num
FROM
your_table;