GROUP BY는 특정 조건으로 묶을 때 사용한다.
주로 집계함수와 함께 사용한다. 어떤 칼럼일 때 AVG, COUNT, SUM 등을 구할 때 유용하다.
예를 들어 한 회원이 구매를 몇번 했는지 구하는 예이다.
SELECT USER_ID, COUNT(*) FROM ONLINE_SALE GROUP BY USER_ID
다음으로 한 회원이 구매한 가격을 알아볼 수 있는 예이다.
SELECT USER_ID, SUM(PRICE) FROM ONLINE_SALE GROUP BY USER_ID
다음으로는 100000원이상 구매한 회원을 고르는 예이다.
SELECT USER_ID, SUM(PRICE)
FROM ONLINE_SALE
GROUP BY USER_ID
HAVING SUM(PRICE)>=2
USER_ID와 PRODUCT_ID로 묶어서 묶은 수가 2개 이상인 경우를 찾는 코드이다. 즉 재구매한 경우를 보여주는 예이다.
SELECT USER_ID, PRODUCT_ID
FROM ONLINE_SALE
GROUP BY USER_ID, PRODUCT_ID
HAVING COUNT(*)>=2
ORDER BY USER_ID, PRODUCT_ID DESC;
예를 들어 같은 아이디로 같은 상품을 구매한 경우 같이 그룹이 된다.
즉, 한 회원이 어떤 물건을 재구매한 경우를 구할 수 있다.
'MYSQL' 카테고리의 다른 글
[MYSQL] 반올림과 버림 - ROUND, TRUNCATE (0) | 2023.10.20 |
---|---|
[MYSQL] 상위 N개 보여주기 (1) | 2023.10.20 |
[MYSQL] UNION, LIKE (0) | 2023.10.20 |
[MYSQL] 값이 null인 경우 기본값 출력(ifnull) (0) | 2023.10.20 |
[MYSQL] 오름차순, 내림차순 정렬(+값이 같을때, 두가지 정렬기준) (0) | 2023.10.20 |