GROUP BY
- SELECT 문에서 반환된 행을 그룹으로 나눔
- 각 그룹에 대한 합계, 평균, 카운트 등을 계산할 수 있음
기본 문법
- N개의 컬럼을 GROUP BY 하는 경우, (콤마)로 구분하며, GROUP BY 절은 FROM 또는 WHERE 절 바로 뒤에 작성해야 함
SELECT COLUMN_1, 집계함수(COLUMN_2)
FROM TABLE_NAME
GROUP BY COLUMN_1;
실습
1) PAYMENT 테이블을 CUSTOMER_ID 기준으로 GROUP BY
SELECT CUSTOMER_ID FROM PAYMENT GROUP BY CUSTOMER_ID;
2) PAYMENT 테이블을 CUSTOMER_ID 기준으로 GROUP BY 하고 AMOUNT의 합계 값을 기준으로 내림차순 정렬
SELECT CUSTOMER_ID, SUM(AMOUNT) AS AMOUNT_SUM
FROM PAYMENT
GROUP BY CUSTOMER_ID
ORDER BY SUM(AMOUNT) DESC; -- 동일 방법 2 DESC;
3) PAYMENT 테이블을 STAFF_ID 기준으로 PAYMENT_ID의 카운트를 조회하며 STAFF_ID 기준으로 GROUP BY
SELECT STAFF_ID, COUNT(PAYMENT_ID) COUNT
FROM PAYMENT
GROUP BY STAFF_ID;
3-2) 위의 조건에서 STAFF의 이름까지 같이 조회하고 싶을 때, JOIN 사용
SELECT A.STAFF_ID, COUNT(A.PAYMENT_ID) AS COUNT, B.FIRST_NAME, B.LAST_NAME
FROM PAYMENT A, STAFF B
WHERE A.STAFF_ID = B.STAFF_ID
GROUP BY
A.STAFF_ID,
B.STAFF_ID,
B.FIRST_NAME,
B.LAST_NAME;
'Database > PostgreSQL' 카테고리의 다른 글
[PostgreSQL] PostgreSQL INSERT 문 (0) | 2024.06.11 |
---|---|
[PostgreSQL] PostgreSQL HAVING 절 (0) | 2024.06.11 |
[PostgreSQL] PostgreSQL CROSS 조인 (0) | 2024.06.11 |
[PostgreSQL] PostgreSQL FULL OUTER 조인 (0) | 2024.06.11 |
[PostgreSQL] PostgreSQL SELF 조인 (0) | 2024.06.11 |