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。