-
[SQL] DISTINCT와 GROUP BY 차이database 2023. 4. 14. 16:47
DISTINCT와 GROUP BY는 둘 다 SELECT 쿼리에서 중복된 값을 제거하는 데 사용된다.
그러나 그들 간에는 중요한 차이점이 있다.
DISTINCT는 SELECT 쿼리 결과에서 중복된 값을 제거하는 데 사용된다. 즉, 결과 집합에서 중복된 값을 제거하여 반환하는 것이다.
반면에 GROUP BY는 열 값을 그룹화하고 집계 함수 (SUM, AVG, COUNT 등)를 사용하여 그룹화된 결과를 반환하는 데 사용된다. 즉, 결과 집합을 그룹화하고 그룹화된 데이터의 집계 값을 계산하는 것이다.아직 잘 이해가 되지 않는다.
예시 코드와 결과를 보면 쉽게 이해가 가능하다.
아래는 MySQL에서 DISTINCT와 GROUP BY를 사용하는 간단한 예시 코드이다.
예를 들어, 다음과 같은 "customers" 테이블이 있다고 가정해보자.
customer_id customer_name city 1 John New York 2 Jane London 3 David Paris 4 John Berlin 5 Jane Sydney DISTINCT 사용
SELECT DISTINCT customer_name FROM customers;
위 쿼리의 결과는 아래와 같다.
customer_name John Jane David GROUP BY 사용
SELECT customer_name, COUNT(*) FROM customers GROUP BY customer_name;
위 쿼리의 결과는 아래와 같다.
customer_name COUNT(*) John 2 Jane 2 David 1 이처럼 GROUP BY를 사용하면 고유한 값을 그룹화하고 각 그룹의 집계 값을 계산할 수 있다.
'database' 카테고리의 다른 글
[SQL] WHERE과 HAVING의 차이 (0) 2023.04.14 h2 database (0) 2023.01.30 NoSQL과 SQL 차이 (0) 2023.01.30 릴레이션(테이블)와 entity 차이 (0) 2023.01.30 Entity (0) 2023.01.30