단일 MySQL 쿼리에서 DISTINCT와 COUNT를 함께 사용할 수 있습니다. 먼저 테이블을 생성해 보겠습니다. CREATE 명령은 테이블을 생성하는 데 사용됩니다.
mysql> create table DistCountDemo - > ( - > id int, - > name varchar(100), - > age int - > ); Query OK, 0 rows affected (0.48 sec)
레코드는 INSERT 명령을 사용하여 삽입됩니다.
mysql> insert into DistCountDemo values(1,'John',23); Query OK, 1 row affected (0.11 sec) mysql> insert into DistCountDemo values(2,'Bob',24); Query OK, 1 row affected (0.14 sec) mysql> insert into DistCountDemo values(3,'John',23); Query OK, 1 row affected (0.16 sec) mysql> insert into DistCountDemo values(4,'Carol',23); Query OK, 1 row affected (0.20 sec)
SELECT 문의 도움으로 모든 레코드를 표시합니다.
mysql> select *from DistCountDemo;
다음은 출력입니다.
+------+-------+------+ | id | name | age | +------+-------+------+ | 1 | John | 23 | | 2 | Bob | 24 | | 3 | John | 23 | | 4 | Carol | 23 | +------+-------+------+ 4 rows in set (0.00 sec)
COUNT와 DISTINCT를 적용하여 23세의 학생 수를 알아냅니다.
mysql> SELECT COUNT(DISTINCT name) from DistCountDemo WHERE age=23;
다음은 출력입니다.
+----------------------+ | COUNT(DISTINCT name) | +----------------------+ | 2 | +----------------------+ 1 row in set (0.05 sec)