[SQL]GROUPING
2025. 5. 21. 16:22ㆍCoding Study/데이터베이스
< SQL문의 작성 순서 >
1. SELECT
2. FROM : 어느 테이블을 대상으로 할 것인지 결정
3. WHERE : 해당 테이블에서 특정 조건을 만족하는 row 선별
4. GROUP BY : grouping 기준대로 로우를 grouping
5. HAVING : grouping 작업 후 생성된 그룹 중 특정 조건을 만족한는 그룹만 선별
6. ORDER BY : 각 row를 특정 기준에 정렬
7. LIMIT : ORDER BY 기준으로 상위 일부만 보여줌
GROUPING
- SELECT 시에grouping 되지 않은 값을 넣으면 에러 발생됨
COUNT 등과 같은 집계 함수는 가능하다.
- WHERE 이라는 함수가 있지만 기존 colum 만 가능 하고 새로생성된 grouping 한 column은 적용되지 않기 때문에
HAVING 이라는 함수로 선별한다.
SELECT
SUBSTRING(address,1,2) as region, -- 주소중 앞 2글자만
gender,
COUNT(*)
FROM member
GROUP BY -- 조건1) 그루핑
SUBSTRING(address,1,2), -- 주소 앞 2개 이므로 도시기준
gender -- 성별
HAVING region IS NOT NULL -- 조건2) grouping 중 NULL 포함 안하는 값만 선별
ORDER BY 조건3)
region ASC, -- 지역기준 오름차순
gender DESC -- 성별기준 내림차순
조건1) 주소 앞 2자리 (도시기준), 성별기준으로 grouping 진행
조건2) region 에 NULL 값은 제외
조건3) region 기준 오름차순 정렬후 같은 값은 gender 기준 내림차순 정렬
'Coding Study > 데이터베이스' 카테고리의 다른 글
| Prisma /데이터베이스/ 3Tier의 개념 (2) | 2025.05.22 |
|---|---|
| [SQL] 기타 팁 (1) | 2025.05.21 |
| [SQL] 서브 쿼리 (0) | 2025.05.21 |
| [SQL] JOIN (0) | 2025.05.21 |
| SQL 명령어 (CRUD 기준) (0) | 2025.05.19 |