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




database join hive (3)

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

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

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

"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

Answers

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

 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


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

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;

इसे आज़माएं, इससे मदद मिल सकती है

 DELETE WorkRecord2 
          FROM WorkRecord2 
    INNER JOIN Employee 
            ON EmployeeRun=EmployeeNo
         WHERE Company = '1' 
           AND Date = '2013-05-06';




sql database join hive