Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL 집계 함수를 MySQL IF() 함수와 결합하는 방법은 무엇입니까?


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' 테이블에서 여러 국가의 출력을 가져옵니다.