MySQL एग्रीगेट फंक्शंस को MySQL IF() फंक्शन के साथ संयोजित करना हमारे इच्छित विशिष्ट आउटपुट को प्राप्त करने में बहुत मददगार हो सकता है। निम्नलिखित प्रश्नों पर विचार करें जो IF () फ़ंक्शन के साथ SUM () और COUNT () समग्र कार्यों को जोड़ते हैं।
उदाहरण
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)
उपरोक्त क्वेरी 'छात्रों' तालिका से अंग्रेजी बोलने वाले छात्रों और गैर-अंग्रेजी बोलने वाले छात्रों के आउटपुट प्राप्त करने के लिए आईएफ () फ़ंक्शन के साथ एसयूएम () एग्रीगेट फ़ंक्शन को जोड़ती है।
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)
उपरोक्त क्वेरी 'छात्र' तालिका से कई देशों के आउटपुट प्राप्त करने के लिए IF() फ़ंक्शन के साथ COUNT() कुल फ़ंक्शन को जोड़ती है।