GROUP BY: 테이블의 특정 컬럼을 기준으로 묶음
SELECT Country FROM Customers
GROUP BY Country;
# Country가 값은 값들끼리 묶여서 값이 나옴
해당되는 조건의 Data 개수 구하기
SELECT
COUNT(*), ORDERDATE
FROM Orders
GROUP BY OrderDate:
# 조건에 해당하는 Column의 숫자
WITH ROLLUP: 전체의 집계값
SELECT
Country, COUNT(*)
FROM Suppliers
GROUP BY Country;
# 조건에 부합하는 값의 전체 합계를 나타내줍니다.
# ORDER BY와는 사용할 수 없습니다.
HAVING: 그룹화된 데이터 필터링
SELECT
Country, COUNT(*) AS Count
FROM Suppliers
GROUP BY Country
HAVING Count >= 3;
# 그룹화된 값들 중 Count가 3이상인 값들만 출력
WHERE
은 그룹하기 전 데이터를 필터링 하고,
HAVING
은 그룹화 한 이후의 데이터를 필터링 합니다.
DISTINCT: 중복된 값 제거
SELECT
Country,
COUNT(DISTINCT City)
FROM Customers
GROUP BY Country;
# 그룹으로 묶은 Customers 테이블에서 City 값이 같은 값은 제거하고 출력
# ORDER BY와 DISTINCT 함께 사용하기