1. GROUP BY
조건에 따라 집계된 값을 가져온다.( 겹치지 않고 나온다.!)
여러 컬럼을 기준으로 그룹화 할 수 있다.
주로 집계함수 와 같이 사용함
ORDER BY 도 같이 사용함.
ex) SELECT CategoryID FROM Products
GROUP BY CategoryID;
2. WITH ROLLUP
total 과 비슷한 의미
전체의 집계값(마지막에 나타남)
각 집계함수 쿼리 끝에 WITH ROLLUP 을 사용할 수 있다.
ORDER BY 와 함께 사용할 수 없다.
ex) SELECT Country, COUNT(*)
FROM Suppliers
GROUP BY Country WITH ROLLUP;
3. HAVING
그룹화된 데이터 걸러내기
WHERE 은 그룹화 하기 전 데이터 집계에 사용
HAVING 은 그룹 후 집계에 사용
ex) SELECT Country, COUNT(*) AS Count
FROM Suppliers GROUP BY Country HAVING Count >= 3;
4. DISTINCT
중복된 값을 제거.
GROUP BY 와 달리 집계함수와 사용 되지 않음
GROUP BY 와 달리 정렬하지 않으므로 더 빠르다.
ex) SELECT DISTINCT Country, City
FROM Customers ORDER BY Country, City;- ex) SELECT Country, COUNT(DISTINCT CITY) FROM Customers GROUP BY Country;
댓글
댓글 쓰기