AVG는 소수점을 결과값으로 가지게 됨으로, ROUND()와 함께 사용해 결과값의 소수점 자리수를 제한할 수 있다.
ROUND(AVG(열이름),소수점자리수)
2.GROUP BY
일정 카테고리별로 열을 집계하는 함수
열중에 카테고리 열을 지정하여 각 카테고리의 집계값을 추출하는데 이용한다.
카테고리 ABC가 있을때, ABC 각각의 합계, 평균을 추출할 수 있음
SELECT 카테고리열, 집계함수()
FROM 테이블이름
(WHERE 조건)
GROUP BY 카테고리열
SELECT의 대상으로 하는 카테고리열은 GROUP BY구문에도 반드시 포함되어야 한다.
집계함수의 대상인 데이터는 GROUP BY 구문에 반드시 포함될 필요는 없다.
WHERE의 조건에는 집계함수가 포함될 수 없다.
집계함수를 포함하여 조건필터를 걸려면 HAVING 구문이 필요하다.
테이블에 타임스탬프 (날짜+시간) 열이 있을때 날짜를 대상으로 하기 위해서는, DATE 등 날짜를 추출하는 구문 들을 함께 이용해야 한다.
ORDER BY 구문에 집계함수를 대상으로 하게 하여, 집계값 기준으로 정렬하게 할 수도 있다.
3.HAVING
집계가 수행된 이후 필터링하는 구문
순서상 위 쿼리에서 GROUP BY의 뒤에 위치한다 (집계 완료 후 필터를 진행할 수 있기 때문에)
GROUP BY로 집계된 결과값을 대상으로만 할 수 있다는 점에서 WHERE과 차이가 있다.
WHERE이 이 조건을 기준으로 추출해줘라면, HAVING은 추출된 값에서 이 조건으로 보여줘라고 해석해도 될듯.