2011-04-15 12 views
5

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

ग्रुप कमांड इसके लिए बहुत अच्छा काम करता है, लेकिन मैंने संयोजन/क्रमपरिवर्तन के मुद्दे के साथ थोड़ा सा झटका लगाया है। वर्तमान में, जब मैं उन्हें समूहित करता हूं, तो यह केवल जमाकर्ताओं और भागीदारों के क्रमिक क्रम के लिए जांच करता है, संयोजन नहीं। मुद्दा यह है कि प्रायः एक साझेदार एक व्यक्ति को जमाकर्ता होने के बीच वैकल्पिक रूप से चुनता है, और दूसरा साथी होता है, इसलिए मेरे पास वास्तव में ग्रुप के दो संभावित क्रमिक क्रम हैं जिन्हें मैं खींच सकता हूं।

वर्तमान में मेरे पास कोड है जो सबमिटर और पार्टनर क्रमपरिवर्तन की एक उच्च स्कोर तालिका खींचता है, और पार्टनर और सबमिटर क्रमपरिवर्तन की एक और उच्च स्कोर तालिका खींचता है। मुझे इन परिणामों (संभावित रूप से समूह रहित और गैर-आदेशित) में शामिल होने की आवश्यकता है जब भागीदार = सबमिटकर्ता या सबमिटकर्ता = साझेदार, और फिर उन्हें समूहबद्ध करें और फिर अवरोही क्रम में क्रमबद्ध करें।

SELECT submitter, partner, COUNT(*) FROM submissions GROUP BY submitter, partner; 

ऊपर कोड सबमिटर और साथी के विशिष्ट परिवर्तन की दर्शक संख्या के साथ तालिका वापस आ जाएगी, लेकिन एक ही दो लोगों को साथी और सबमिट करने वाले हैं, बस बंद, वे एक ही समूह के रूप में गिने जाते हैं।

कोई भी इसके लिए कोड जानता है?

उत्तर

6

नहीं सबसे सुंदर समाधान है, लेकिन यह आप इस सवाल का जवाब आप चाहते हैं प्रदान करता है:

SELECT Person1, Person2, COUNT(*) FROM (
    SELECT 
     CASE WHEN submitter < partner THEN submitter ELSE partner END AS Person1, 
     CASE WHEN submitter >= partner THEN submitter ELSE partner END AS Person2 
    FROM submissions 
) Q 
GROUP BY Person1, Person2 
+0

ओह, यह सुंदर है, और यह सिर्फ इतनी अच्छी तरह से मेरे वर्तमान पीएचपी फिट करने के लिए होता है, धन्यवाद! – user709246

संबंधित मुद्दे