손에 잡히는 10분 SQL 9장 참고
합계, max, min, 평균 등 직접 데이터를 가져와 계산하지 않고 요약 정보를 가져오는 방법을 알아본다
그룹 함수
- AVG(열) : 평균
- where 로 조건을 걸면 해당 조건 안에서의 평균값을 구한다
- COUNT() : 행의 개수를 센다
- COUNT() : NULL 값인 행을 포함하여 행의 수를 센다
- COUNT(열) : NULL 값을 가진 행은 무시하고 행의 수를 센다
- MAX(열) : 열에서 가장 큰 값 반환
- 숫자, 날짜, 문자 모두 지원. 문자의 경우 정렬했을 때 가장 마지막 행 반환.
- NULL을 무시한다
- MIN(열) : 열에서 가장 작은 값 반환
- 숫자, 날짜, 문자 모두 지원. 문자의 경우 정렬했을 때 첫 번째 행 반환.
- NULL을 무시한다
- SUM(열) : 합계를 구한다
- NULL을 무시한다
중복되는 값에 대한 그룹 함수
SELECT AVG(DISTINCT PROD_PRICE) AS avg_price
FROM PRODUCTS
WHERE VEND_ID = 'DLL01';
- ALL : 모든 행에 대해 계산을 수행
- Default 값으로 비워두면 기본적으로 가정된다.
- DISTINCT : 고유한 값에 대해서만 계산을 수행
- COUNT에 DISTINCT를 쓰고 싶다면 * 대신 열을 명시해야 한다
새로운 별칭 지정하기
그룹 함수의 결과에 별칭을 실제 존재하고 있던 열 이름을 그대로 사용하면 에러가 날 수도 있다.
'Database > SQL' 카테고리의 다른 글
[코테를 위한 Oracle 정리] 8. 서브쿼리 (0) | 2024.08.04 |
---|---|
[코테를 위한 Oracle 정리] 7. 그룹핑 : GROUP BY, HAVING (0) | 2024.08.03 |
[코테를 위한 Oracle 정리] 5. 데이터 조작 : 내장 함수 (0) | 2024.08.01 |
[코테를 위한 Oracle 정리] 4. 열 계산 및 연결하기 (0) | 2024.07.31 |
[코테를 위한 Oracle 정리] 3. 필터링 : WHERE (0) | 2024.07.29 |