मैं इस SQL क्वेरी एक समूह द्वारा एक साथ सभी पंक्तियों है कि एक ही Player_id नहीं बल्कि एक ही Game_id शामिल विलय करने के लिए करता है कि है:कैसे T-SQL में पंक्तियों द्वारा समूह गिनती करने के लिए
SELECT p.Player_id,
p.Name,
p.Position,
SUM(s.Goals) AS goalsb,
SUM(s.Assists) AS assistsb,
SUM(s.Points) AS pointsb
FROM Dim_Player AS p
INNER JOIN Fact_Statistics AS s ON s.Player_id = p.Player_id
GROUP BY p.Player_id, p.Name, p.Position
ORDER BY pointsb DESC, goalsb DESC
मैं क्या चाहते हैं जब भी "गेम्स खेले गए" नामक एक नया कॉलम बनाने के लिए ग्रुप बाय एक पंक्ति के साथ विलय करता है तो प्रत्येक बार COUNT लागू होता है। उदाहरण:
Player_id Game_id goalsb
8470598 465 1
8470598 435 1
इस SQL क्वेरी के साथ समूहीकृत हो जाएगा ऊपर बनने के लिए:
Player_id goalsb
8470598 2
लेकिन मैं इस करना चाहते हैं:
Player_id goalsb Games_played
8470598 2 2
सुनिश्चित नहीं है कि आप प्रश्न को समझते हैं लेकिन आपके SELECT कथन में 'COUNT (DISTINCT Game_Id) 'जोड़कर समस्या हल हो जाती है? –
यह काम किया। मैं COUNT (*) –
कर रहा था, मैं इसका उत्तर दूंगा :) –