如何在运行选择查询时为现有表生成行号? 例如:
select row_number(), * from emp;
我正在使用hive 0.13。我无法在我的环境中访问外部jar或udfs。 基础文件采用镶木地板格式。
提前致谢!
答案 0 :(得分:19)
ROW_NUMBER()
是windowing function,因此需要与OVER
子句一起使用。只是不要指定任何PARTITION
。
SELECT *, ROW_NUMBER() OVER () AS row_num
FROM emp
--- other stuff
答案 1 :(得分:4)
row_number()可用于查找,例如,即您网站上用户的最近访问次数。
SELECT user_id,user_name,timestamp
FROM (
SELECT user_id,user_name,timestamp,row_number() over (partition by userid order by timestamp desc) as visit_number
from user) user_table
WHERE visit_number = 1