gpt4 book ai didi

mysql - HIVE如何限制组中的条目数

转载 作者:可可西里 更新时间:2023-11-01 08:05:43 26 4
gpt4 key购买 nike

最近在学习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 对表进行分组,并在每个组中按 NUMBER 的 DESC 顺序对记录进行排序,并且在每个组中我想保留最多 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

输出

1   6   50
1 5 40
1 4 30
2 2 40
2 3 35
2 5 30

hive版本应该是0.11以上,请问你的版本是否低一些

关于mysql - HIVE如何限制组中的条目数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27055661/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com