- 그룹화 구문 : GROUP BY
SELECT 열, 집계함수
FROM 테이블
[WHERE 필터 조건]
GROUP BY 열 - ex) 주소별 학생수
select address, count (*)
from students
group by address
주소별 학생 평균 나이
select address, avg (age)
from students
group by address
- GROUP BY 절에 의해 생성된 그룹 중 조건에 부합하는 그룹 선택하는 구문 : HAVING
SELECT 열, 집계함수
FROM 테이블
[WHERE 필터 조건]
GROUP BY 열
HAVING 그룹 필터 조건 - ex) 학생 수가 2명 이상인 주소만 조회
SELECT address, COUNT(*)
FROM students
GROUP BY address
HAVING COUNT(*) >= 2
- 특정 기준에 따라 정렬 : ORDER BY
SELECT 열, 집계함수
FROM 테이블
[WHERE 필터 조건]
GROUP BY 열
HAVING 그룹 필터 조건
ORDER BY 열 [ASC(기본값, 오름차순) | DESC(내림차순)] - ex) 나이가 많은 학생부터 차례로 조회
SELECT *
FROM students
ORDER BY age DESC
나이가 많은 학생 top 3 조회
SELECT *
FROM students
ORDER BY age DESC
LIMIT 3
- 모두 합치기
SELECT address, COUNT(*)
FROM students
WHERE age >= 29
GROUP BY address
HAVING COUNT(*) >= 2
ORDER BY COUNT(*) DESC; - WHERE - 나이 29 이상인 학생
GROUP BY - 주소를 기준
HAVING - 학생 수가 2명이상
ORDER BY - 학생 수가 많은 순서(오름차순)으로 정리
'[SQL]' 카테고리의 다른 글
함수 (0) | 2024.08.12 |
---|---|
My SQL (0) | 2024.08.12 |
데이터베이스와 SQL? (0) | 2024.08.12 |