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 기법입니다.