我必须编写Hive SQL。
我想找到每个类别的最低价格。我想为每个类别获取一行,包括类别ID,产品ID,价格(最低价格)和图片网址列。 在下面的示例中,我们最终需要两行。
帮帮我。谢谢。
category_id product_id
1001 500001
1001 500002
1002 500101
1002 500102
1002 500103
prd_id price img_url
500001 29000 /app/url/img/500001.jpg
500002 29500 /app/url/img/500002.jpg
500101 8100 /app/url/img/500101.jpg
500102 8100 /app/url/img/500102.jpg
500103 8500 /app/url/img/500103.jpg
答案 0 :(得分:0)
您可以使用窗口功能:
select pc.*
from (select pi.*, cpm.category_id,
row_number() over (partition by cpm.category_id order by pi.price asc) as seqnum
from product_info pi join
category_product_match cpm
on cpm.product_id = pi.prd_id
) pc
where seqnum = 1;
答案 1 :(得分:0)
使用内部联接的Min聚合函数和类别ID
的group by Select category_id ,product_id, Min(price) as lowest_Price,img_url
from category_product_match
inner join product_info on product_id=prd_id
group by category_id;
在这里演示Sqlfiddle