sql - हाइव में शामिल होने के एसक्यूएल का उपयोग करते हुए प्रत्येक श्रेणी के लिए न्यूनतम मूल्य ढूँढना




database join (2)

आप विंडो कार्यों का उपयोग कर सकते हैं:

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;

https://code.i-harness.com

मुझे हाइव एसक्यूएल लिखना है

मैं प्रत्येक श्रेणी के लिए सबसे कम कीमत खोजना चाहता हूं। मुझे प्रत्येक श्रेणी के लिए श्रेणी आईडी, उत्पाद आईडी, मूल्य (सबसे कम कीमत) और छवि यूआरएल कॉलम के साथ एक पंक्ति प्राप्त करना है। नीचे दिए गए उदाहरण में, हमें अंत में दो पंक्तियां चाहिए

मेरी मदद करो। धन्यवाद।

"category_product_match" तालिका

category_id    product_id
1001             500001
1001             500002
1002             500101
1002             500102
1002             500103

"product_info" तालिका

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

श्रेणी के आईडी के साथ आंतरिक प्रवेश और समूह के साथ न्यूनतम कुल फ़ंक्शन का उपयोग करें

 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





hive