MySQL 如何将聚合函数与 IF()函数相结合

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’表中获取多个国家的输出。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程