AVG() 함수는 **집계 함수(aggregate function)**이기 때문에 일반적인 WHERE 절에는 직접 쓸 수 없습니다.
하지만 조건을 걸고 평균을 구하거나, 평균값을 조건으로 필터링하려면 아래와 같은 방법을 사용해야 합니다:
SELECT AVG(score) AS avg_score FROM students WHERE class = 'A';
🔍 WHERE절은 평균을 구할 대상을 필터링합니다.
HAVING은 집계 함수의 결과에 조건을 걸 때 사용합니다. GROUP BY와 함께 자주 쓰입니다.
SELECT class, AVG(score) AS avg_score
FROM students
GROUP BY class
HAVING AVG(score) >= 80;
SELECT name, score
FROM students
WHERE score > (SELECT AVG(score) FROM students);
| 목적 | 사용하는 절 |
| 평균을 구할 대상 제한 | WHERE |
| 그룹별 평균을 조건으로 필터링 | HAVING |
| 평균값을 기준으로 비교 필터링 | 서브쿼리 |
| 데이터베이스 함수에서 cast() 함수 역할은? (0) | 2025.06.18 |
|---|---|
| sqLite 날짜형태 변경하는 쿼리는? (0) | 2025.06.18 |
| sqlite에서 평균값 구하는 함수는? (0) | 2025.06.17 |
| sqlite 소수점 자리수 반올림하는 방법은? (0) | 2025.06.17 |
| db 테이블 생성 시 외래키 역할과 외래키를 설정하고 안하고의 차이는? (0) | 2025.05.16 |