MySQL एग्रीगेट फंक्शन्स को MySQL IF() फंक्शन के साथ संयोजित करना वांछित आउटपुट प्राप्त करने के लिए बहुत उपयोगी हो सकता है। उन क्वेरीज पर विचार करें जो SUM() और COUNT() एग्रीगेट फंक्शन्स को IF() फंक्शन के साथ संयोजित करती हैं।
उदाहरण
mysql> SELECT SUM(IF(Language = 'English', 1, 0)) AS English,
-> SUM(IF(Language <> 'English', 1, 0)) AS "Non-English"
-> FROM Students;
+---------+-------------+
| English | Non-English |
+---------+-------------+
| 5 | 4 |
+---------+-------------+
1 row in set (0.00 sec)
उपरोक्त क्वेरी SUM() एग्रीगेट फंक्शन को IF() फंक्शन के साथ संयोजित करके 'Students' टेबल से अंग्रेजी बोलने वाले और गैर-अंग्रेजी बोलने वाले छात्रों का आउटपुट प्राप्त करती है।
mysql> SELECT COUNT(IF(country = 'USA', 1, NULL)) AS USA,
-> COUNT(IF(country = 'UK', 1, NULL)) AS UK,
-> COUNT(IF(country = 'France', 1, NULL)) AS France,
-> COUNT(IF(country = 'Russia', 1, NULL)) AS Russia,
-> COUNT(IF(country = 'Australia', 1, NULL)) AS Australia,
-> COUNT(IF(country = 'INDIA', 1, NULL)) AS INDIA,
-> COUNT(IF(country = 'NZ', 1, NULL)) AS NZ
-> FROM Students;
+-----+----+--------+--------+-----------+-------+----+
| USA | UK | France | Russia | Australia | INDIA | NZ |
+-----+----+--------+--------+-----------+-------+----+
| 2 | 1 | 1 | 1 | 1 | 2 | 1 |
+-----+----+--------+--------+-----------+-------+----+
1 row in set (0.07 sec)
उपरोक्त क्वेरी COUNT() एग्रीगेट फंक्शन को IF() फंक्शन के साथ संयोजित करके 'Students' टेबल से देशों की संख्या का आउटपुट प्राप्त करती है।