glog : cupucharm

[MySQL] 데이터 중복 처리 - DISTINCT & GROUP BY 본문

SQL

[MySQL] 데이터 중복 처리 - DISTINCT & GROUP BY

오이호박참외 2024. 10. 7. 06:00

MySQL에서 DISTINCT 와 GROUP BY는 데이터의 중복을 처리하는데 사용되지만, 그 목적과 사용 방법이 다르다.

DISTINCT 와 GROUP BY 차이를 정리해보고자 한다.


✅ DISTINCT

쿼리 결과에서 중복된 행을 제거한다.

SELECT DISTINCT CategoryID FROM Products;

위 쿼리는 Products 테이블에서 중복되지 않은 CategoryID 값을 반환한다.

  • GROUP BY 와 달리 정렬하지 않으므로 더 빠르다.

 GROUP BY

특정 열을 기준으로 결과를 그룹화하고, 집계 함수를 사용할 수 있게 한다.

SELECT CategoryID FROM Products GROUP BY CategoryID;

위 쿼리도 마찬가지로 Products 테이블에서 중복되지 않은 CategoryID 값을 반환한다.

 


🔗 DISTINCT 와 GROUP BY 차이

  DISTINCT GROUP BY
목적 중복 제거 데이터 그룹화
결과 특정 열의 고유한 값만 반환 그룹화된 데이터와 집계 결과 반환
집계함수 X O
정렬 X (GROUP BY와 비교할 때 정렬하지 않아 더 빠르다.) O