mysql-HIVE如何限制组中的条目数 - CocoaChina_一站式开发者成长社区
这些天我正在学习HIVE,遇到了一些问题…
我有一个名为SAMPLE的表:
USER_ID PRODUCT_ID NUMBER
1 3 20
1 4 30
1 2 25
1 6 50
1 5 40
2 1 10
2 3 15
2 2 40
2 5 30
2 3 35
如何使用HIVE按user_id对表进行分组,并在每个组中按DESC顺序按NUMBER对记录进行排序,在每个组中我要保留3条记录.
我想要的结果是:
USER_ID PRODUCT_ID NUMBER(optional column) 1 6 50 1 5 40 1 4 30 2 2 40 2 3 35 2 5 30 or USER_ID PRODUCT_IDs 1 [6,5,4] 2 [2,3,5]
尝试这个,select user_id,product_id,number from( select user_id,product_id,number, ROW_NUMBER() over (Partition BY user_id) as RNUM from ( select user_id, number,product_id from SAMPLE order by number desc ) t) t2 where RNUM <=3