Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

COUNT(*) 그룹 함수와 GROUP BY 절을 활용해 열 값의 중복 횟수 확인하는 방법

COUNT(*)와 GROUP BY 절로 열 값의 반복 확인하기

MySQL에서 COUNT(*) 집계 함수와 GROUP BY 절을 함께 사용하면 특정 열에서 값이 몇 번 반복되는지 쉽게 확인할 수 있습니다. GROUP BY 절은 동일한 값을 가진 행들을 하나의 그룹으로 묶어주고, COUNT(*)는 각 그룹에 속한 행의 개수를 계산해 줍니다.

예제: Student 테이블에서 이름 중복 확인

다음 예제는 'Student' 테이블의 'Name' 열에 COUNT(*)와 GROUP BY 절을 적용하여 각 이름이 몇 번 나타나는지 확인하는 방법을 보여줍니다.

mysql> select count(*),name from student group by name;

+----------+---------+
| count(*) | name    |
+----------+---------+
| 1        | Aarav   |
| 2        | Gaurav  |
| 1        | Harshit |
+----------+---------+

3 rows in set (0.00 sec)

위 쿼리의 결과 집합을 보면 어떤 값이 몇 번 반복되었는지 한눈에 파악할 수 있습니다. 이 예제에서는 'Gaurav'라는 이름이 'name' 열에서 정확히 두 번 반복된 것을 확인할 수 있으며, 나머지 이름인 'Aarav'와 'Harshit'은 각각 한 번씩만 나타났습니다.

SELECT * 쿼리로 결과 검증하기

아래의 SELECT * 쿼리를 실행하면 실제 테이블 데이터를 통해 위 결과가 올바른지 직접 검증할 수 있습니다.

mysql> Select * from Student;

+------+---------+---------+-----------+
| Id   | Name    | Address | Subject   |
+------+---------+---------+-----------+
| 1    | Gaurav  | Delhi   | Computers |
| 2    | Aarav   | Mumbai  | History   |
| 15   | Harshit | Delhi   | Commerce  |
| 20   | Gaurav  | Jaipur  | Computers |
+------+---------+---------+-----------+

4 rows in set (0.00 sec)

전체 데이터를 살펴보면 Id가 1과 20인 두 개의 행에서 'Gaurav'라는 이름이 사용된 것을 알 수 있습니다. 이처럼 COUNT(*)와 GROUP BY 절의 조합은 데이터베이스에서 중복 데이터를 빠르게 분석하고 데이터 품질을 점검할 때 매우 유용하게 활용되는 기본적인 SQL 기법입니다.