CASE स्टेटमेंट के साथ कंडीशनल SUM
एक ही क्वेरी में कई कंडीशनल SUM को अलग कॉलम्स के रूप में प्राप्त करने के लिए:
SELECT
SUM(CASE WHEN column1 = 'value1' THEN column2 END) AS alias1,
SUM(CASE WHEN column1 = 'value2' THEN column2 END) AS alias2,
SUM(CASE WHEN column1 = 'value3' THEN column2 END) AS alias3
FROM yourTableName;
उदाहरण: प्लेयर स्कोर टेबल
mysql> CREATE TABLE selectMultipleSumDemo (
-> Id INT NOT NULL AUTO_INCREMENT,
-> PlayerName VARCHAR(20),
-> PlayerScore INT,
-> PRIMARY KEY(Id)
-> );
mysql> INSERT INTO selectMultipleSumDemo(PlayerName, PlayerScore)
-> VALUES('Maxwell', 89),('Ricky', 98),('Maxwell', 96),('Ricky', 78),
-> ('Maxwell', 51),('Ricky', 89),('David', 56),('David', 65);
अलग-अलग कॉलम्स में SUM
mysql> SELECT
-> SUM(CASE WHEN PlayerName = 'Maxwell' THEN PlayerScore END) AS 'MAXWELL TOTAL SCORE',
-> SUM(CASE WHEN PlayerName = 'Ricky' THEN PlayerScore END) AS 'RICKY TOTAL SCORE',
-> SUM(CASE WHEN PlayerName = 'David' THEN PlayerScore END) AS 'DAVID TOTAL SCORE'
-> FROM selectMultipleSumDemo;
आउटपुट:
+---------------------+-------------------+-------------------+ | MAXWELL TOTAL SCORE | RICKY TOTAL SCORE | DAVID TOTAL SCORE | +---------------------+-------------------+-------------------+ | 236 | 265 | 121 | +---------------------+-------------------+-------------------+
यह पिवट टेबल जैसा परिणाम देता है - प्रत्येक प्लेयर का कुल स्कोर अलग कॉलम में।