Hive中的row_number()函數用于為結果集中的每一行分配一個唯一的連續整數,根據指定的排序順序
SELECT column1, column2, ..., row_number() OVER (PARTITION BY column1, column2 ORDER BY column3 DESC) as row_num
FROM your_table;
在這個示例中,PARTITION BY子句用于將結果集劃分為多個分區,每個分區內的行將根據column1和column2的值進行排序。ORDER BY子句用于指定在每個分區內部,行將根據column3的值降序排序。row_number()函數將為每個分區內的行分配一個唯一的連續整數,并將其命名為row_num。
這樣,即使column1和column2的值相同,只要它們的column3值不同,它們也會被分配不同的row_num。