MySQL 如何将聚合函数与 IF()函数相结合
将MySQL聚合函数与MySQL IF()函数相结合可以非常有助于获取所需的特定输出。考虑以下查询,其中将SUM()和COUNT()聚合函数与IF()函数相结合。
阅读更多:MySQL 教程
例子
mysql> Select SUM(IF(Language = 'English', 1, 0)) As English, SUM(IF(Language <> 'English',1,0)) AS "Non-English" from Students;
+---------+-------------+
| English | 非英语学生 |
+---------+-------------+
| 5 | 4 |
+---------+-------------+
1 row in set (0.00 sec)
上述查询将SUM()聚合函数与IF()函数相结合,从‘Students’表中获取说英语和不说英语的学生的输出。
mysql> Select COUNT(IF(country = 'USA', 1, NULL))AS 美国,
-> COUNT(IF(country = 'UK', 1, NULL))AS 英国,
-> COUNT(IF(country = 'France', 1, NULL))AS 法国,
-> COUNT(IF(country = 'Russia', 1, NULL))AS 俄国,
-> COUNT(IF(country = 'Australia', 1, NULL))AS 澳大利亚,
-> COUNT(IF(country = 'INDIA', 1, NULL))AS 印度,
-> COUNT(IF(country = 'NZ', 1, NULL))AS 新西兰 FROM Students;
+-----+----+--------+--------+-----------+-------+----+
| 美国 | 英国 | 法国 | 俄国 | 澳大利亚 | 印度 | 新西兰 |
+-----+----+--------+--------+-----------+-------+----+
| 2 | 1 | 1 | 1 | 1 | 2 | 1 |
+-----+----+--------+--------+-----------+-------+----+
1 row in set (0.07 sec)
上述查询将COUNT()聚合函数与IF()函数相结合,从‘Students’表中获取多个国家的输出。