में प्रत्येक विशिष्ट रिकॉर्ड के लिए अधिकतम औसत प्राप्त करें मेरे पास कुछ टेबल हैं जिनमें खिलाड़ियों और उनके लीग के दौरान गेंदबाजी केंद्र में इस सीजन में गेंदबाजी के बारे में डेटा शामिल है। पुरुषों और महिलाओं के लिए इस वर्ष शीर्ष एक्स औसत को क्रमबद्ध करने के लिए इस विशेष प्रश्न का उपयोग किया जाता है। मेरे पास यह सब नीचे है, लेकिन मुझे अभी भी कुछ विशेष मामले में समस्या है जब कुछ खिलाड़ी कई लीग में खेलते हैं और शीर्ष एक्सSQL क्वेरी
स्पष्ट रूप से, मैं केवल सर्वश्रेष्ठ सूचीबद्ध करना चाहता हूं किसी दिए गए खिलाड़ी के लिए औसत, इसलिए यदि लीग एबीसी में 200 के साथ प्लेयर ए के साथ सबसे अच्छा औसत है और लीग डीईएफ में 198 के साथ दूसरा सबसे अच्छा औसत है, तो मुझे केवल 200 सूचीबद्ध करना चाहिए।
यहां क्वेरी का सरलीकृत संस्करण है जिसे मैं बदलना चाहता हूं, क्योंकि अभी मुझे मैन्युअल रूप से डुप्लिकेट को हटाना होगा या मुझे दूसरी भाषा में सॉर्टर लिखना होगा, लेकिन मैं इसे शुद्ध एसक्यूएल में करना चाहता हूं । (मैं केवल इस उदाहरण के लिए क्वेरी से अप्रासंगिक जानकारी हटा दिया):
SELECT playerId, ROUND(AVG(score),2)Average, season, leagueName, COUNT(score)NumGames FROM Scores
WHERE season = '2011-2012' AND score > -1
GROUP BY season, playerID, leagueName
ORDER BY Average DESC LIMIT 0,30
असल में, Scores
तालिका प्रत्येक व्यक्ति के खेल, एक playerId, मौसम, जिसमें खेल खेला गया था और leagueName (और अन्य स्तंभ हैं कि इस उदाहरण में आवश्यक नहीं हैं)।
WHERE
यह सुनिश्चित करना है कि गेम इस मौसम में खेला गया था और स्कोर सकारात्मक है (-1 जब लोग अनुपस्थित हैं)। मैं सीजन, प्लेयरआईडी और लीग नाम से सब कुछ समूहित करता हूं इसलिए मुझे अलग-अलग लीग में खेले जाने वाले सभी खेलों के औसत के बजाय प्रत्येक खिलाड़ी के लिए औसत प्रति लीग प्राप्त होता है।
मैंने DISTINCT
कीवर्ड का उपयोग करने का प्रयास किया, लेकिन यह काम नहीं करता है क्योंकि मैं केवल एक कॉलम के लिए DISTINCT
का उपयोग नहीं कर सकता। मैंने अन्य चीजों की भी कोशिश की लेकिन उनमें से कोई भी काम करने के करीब भी नहीं आया, इसलिए मैं सोच रहा हूं कि ऐसा करने के लिए भी संभव है या अगर मुझे इस परिणाम को सेट करने और डुप्लिकेट को हटाने के लिए किसी अन्य भाषा का उपयोग करना होगा?
बहुत अच्छा, यह मेरा पसंदीदा उत्तर है क्योंकि यह अस्थायी तालिकाओं की आवश्यकता के बिना एक ही प्रश्न में काम करता है। अनेक अनेक धन्यवाद! –