Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 |
Tags
- 데이터베이스
- JPA
- baekjoon
- DB
- 자료구조
- backjoon
- 자바
- python
- springboot
- 자바스크립트
- spring
- Oracle
- 파이썬
- 스프링 부트 쇼핑몰 프로젝트 with JPA
- 네트워크
- 스프링
- 플러터
- postgresql
- Java
- Flutter
- javascript
- 백준
- Spring Security
- 리눅스
- 시큐리티
- 프로그래머스
- CS
- 데이터
- CS지식
- 스프링부트
Archives
- Today
- Total
Jin's Dev Story
[PostgreSQL] PostgreSQL GROUP BY 절 본문
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 |