選択クエリの実行中に既存のテーブルの行番号を生成するにはどうすればよいですか?
例えば:
select row_number(), * from emp;
Hive 0.13を使用しています。環境内の外部jarまたはudfsにアクセスできません。基礎となるファイルは寄木細工の形式です。
前もって感謝します!
ROW_NUMBER()
は ウィンドウ関数 であるため、OVER
句と組み合わせて使用する必要があります。 PARTITION
を指定しないでください。
SELECT *, ROW_NUMBER() OVER () AS row_num
FROM emp
--- other stuff
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