Skip to main content Link Search Menu Expand Document (external link) Copy Copied

비교: DISTINCTGROUP BY

  • DISTINCT
    • 중복된 값을 제거하고 유일한 값만 조회한다.
  • GROUP BY
    • 특정 컬럼의 값들을 기준으로 데이터를 그룹화하고 조회한다.

공통점

  • DISTINCTGROUP BY는 모두 중복된 값을 제거한다는 공통점이 있다.

차이점

  • DISTINCT는 기본적으로 정렬 기능을 포함하지 않는다.
  • 반면에 GROUP BY는 정렬 기능이 포함된다.

하지만 데이터베이스 제공업체들은 사용자들의 요청에 따라 GROUP BY에 포함된 정렬 기능을 제외하는 방법을 제공한다.

  • MySQL에서는 GROUP BY 절 다음에 ORDER BY NULL을 사용하면 정렬 기능을 끌 수 있다.
  • Oracle은 10g R2부터 GROUP BY에 기본적으로 포함된 정렬 기능을 제거했다.

추가 기능

  • DISTINCT
    • 서브쿼리를 줄일 수 있다.
  • GROUP BY
    • 집계 함수를 사용할 수 있다.

참고로 MySQL에서는 DISTINCT를 사용하면 SELECT 절의 모든 컬럼에 적용된다.