sqlite - Grouping with multiple record values required per group? -
डीबी का सरलीकृत संस्करण:
fkey | count1 | count2 | count3 | सुविधा 100 | 0 | 1 | 0 | सुविधा 1 100 | 0 | 1 | 0 | सुविधा 1 100 | 0 | 1 | 0 | सुविधा 2 101 | 0 | 1 | 0 | सुविधा 3 101 | 0 | 1 | 0 | सुविधा 4 102 | 1 | 0 | 0 | सुविधा3 102 | 1 | 0 | 0 | सुविधा 4 103 | 0 | 0 | 1 | सुविधा 1 103 | 0 | 0 | 1 | सुविधा 2 104 | 0 | 0 | 1 | सुविधा 1 104 | 0 | 0 | 1 | सुविधा 1 104 | 0 | 0 | 1 | सुविधा 2 104 | 0 | 0 | 1 | फीचर 3 मुझे पता है कि फीचर 1 और फीचर 2 से जुड़े हैं (वास्तविक जीवन पर सुविधाओं की सूची पहुंच सकती है 10 या 20)। मैं भी feature1 और feature2 दोनों के लिए काउंटरों का योग चाहता हूं। अपेक्षित परिणाम है:
100 | 0 | 3 | 103 103 | 0 | 2 104 | 0 | 0 | 3
ध्यान दें कि परिणाम की अंतिम पंक्ति पर भरोसा 3 और 4 नहीं है क्योंकि परिणाम में फीचर 3 के साथ लाइन से जानकारी शामिल नहीं होनी चाहिए।
मैंने ग्रुप बाय और होविंग को जोड़ने की कोशिश की, लेकिन कोई भाग्यशाली नहीं है क्योंकि इसका प्रभाव है या, के बजाय और। ऐसा लगता है कि एक ही एफकी के साथ विभिन्न पंक्तियों के लिए चुनौती और व्यवहार होना है।
SELECT ... ... ('feature1', 'feature2') में एफक्यू की सुविधा से ग्रुप
कोई भी विचार?
यह सबसे आसान सबक्वैरिज़ के साथ किया जाता है, जिस पर आप तब और उपयोग कर सकते हैं:
SELECT fkey, SUM (count1), SUM (count2), SUM (count3) से MyTable where fkey IN (MyTable WHERE feature = 'feature1' से अलग से चुनें)
वैकल्पिक रूप से, एक सिंगल:
SELECT fkey, SUM का उपयोग करें। (Count1), SUM (count2), SUM (count3) MyTable से कहां fkey IN (MyTable से फ़ील्ड का चयन करें फ़ीचर = 'feature1' MyTable से इंटरसेक्ट का चयन करें fkey WHERE फीचर = 'फीचर 2') ग्रुप द्वारा एफकी
Comments
Post a Comment