समूह के साथ सशर्त कुल खंड तक

वोट
0

मैं HiveQL के साथ ऐसा करने की कोशिश कर रहा हूँ, लेकिन मैं कैसे न एसक्यूएल में यह करने के लिए पता नहीं है। तालिका संरचना इस प्रकार है:

ID1 आईडी 2 श्रेणी  
123 एबीसी 1
123 डीईएफ़ 1
123 डीईएफ़ 2
456 एबीसी 1
123 एबीसी 1
123 एबीसी 2
...  

मैं एक प्रश्न है कि आउटपुट लिखने के लिए करना चाहते हैं:

कुंजी गिनती category1count category2count
123-एबीसी 3 2 1
123-डीईएफ़ 2 1 1
456-एबीसी 1 1 0

अब तक मैं इस मिल गया है:

SELECT concat( concat(id1,'-'), id2), count(*) , 
count( SELECT * WHERE buyingcategory = 1 ??? ) , 
count( SELECT * WHERE buyingcategory = 2 ??? ) 
FROM table 
GROUP BY concat( concat(id1,'-'), id2)
31/07/2013 को 22:52
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


1 जवाब

वोट
2

इसे इस्तेमाल करे

 SELECT concat(id1,'-', id2) `key`, count(*) , 
 sum( case when category = 1 then 1 else 0 end) category1count , 
 sum( case when category = 2 then 1 else 0 end) category2count
 FROM table1 
 GROUP BY concat(id1,'-', id2)

यहाँ डेमो

31/07/2013 को 23:06
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more