예, COUNT() 및 DISTINCT를 함께 사용하여 고유한 행의 수만 표시할 수 있습니다.
구문은 다음과 같습니다 -
SELECT COUNT(DISTINCT yourColumnName) AS anyVariableName FROM yourTableName;
위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다.
테이블을 생성하는 쿼리는 다음과 같습니다 -
mysql> 테이블 생성 CountDistinctDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(20), -> PRIMARY KEY(Id) -> );쿼리 OK, 영향을 받는 행 0개(3.11초)사전>삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오. 쿼리는 다음과 같습니다 -
mysql> insert into CountDistinctDemo(Name) values('Carol');Query OK, 1개의 row가 영향을 받습니다(0.48초)mysql> insert into CountDistinctDemo(Name) values('Bob');Query OK, 1개의 row가 영향을 받습니다( 0.43초)mysql> CountDistinctDemo(Name) values('Carol')에 삽입, 쿼리 확인, 1행 영향(0.26초)mysql> CountDistinctDemo(Name) values('John')에 삽입, 쿼리 확인, 1행 영향( 0.27초)mysql> CountDistinctDemo(Name) values('Bob')에 삽입, 쿼리 확인, 1행 영향(0.35초)mysql> CountDistinctDemo(Name) values('Carol')에 삽입, 쿼리 확인, 1행 영향( 0.98초)mysql> CountDistinctDemo(Name) values('John')에 삽입, 쿼리 확인, 1행 영향(0.26초)mysql> CountDistinctDemo(Name) values('Sam')에 삽입, 쿼리 확인, 영향 1행( 0.14초)mysql> CountDistinctDemo(Name) values('Mike')에 삽입, 쿼리 확인, 1행 영향(0.53초)mysql> CountDistinctDemo(Name) values('Carol')에 삽입, 쿼리 OK, 1행 영향( 0.31초)mysql> CountDistinctDemo(Name) values('David');Query에 삽입 알겠습니다. 1행이 영향을 받았습니다(0.40초)select 문을 사용하여 테이블의 모든 레코드를 표시합니다.
쿼리는 다음과 같습니다.
mysql> CountDistinctDemo에서 *선택;다음은 출력입니다.
+----+-------+| 아이디 | 이름 |+----+-------+| 1 | 캐롤 || 2 | 밥 || 3 | 캐롤 || 4 | 존 || 5 | 밥 || 6 | 캐롤 || 7 | 존 || 8 | 샘 || 9 | 마이크 || 10 | 캐롤 || 11 | David |+----+-------+11행 세트(0.07초)DISTINCT를 사용하지 않으면 COUNT() 함수는 모든 행의 개수를 제공합니다.
쿼리는 다음과 같습니다 -
mysql> CountDistinctDemo에서 TotalName으로 count(Name) 선택;다음은 출력입니다 -
+-----------+| 총명 |+-----------+| 11 |+-------------+1 행 세트(0.04초)다음은 COUNT()와 DISTINCT를 함께 사용하는 쿼리입니다 -
mysql> SELECT COUNT(DISTINCT 이름)를 UniqueName FROM CountDistinctDemo;다음은 출력입니다.
+------------+| 고유 이름 |+------------+| 6 |+------------+1 행 세트(0.00초)