-
SQL(GROUP BY)SQL 2023. 4. 18. 21:34
◆ GROUP BY 문을 사용하여 데이터 그룹핑("~별로" 표현)
- 실행순서: FROM->WHERE->GROUP BY->SELECT
- 예제
SELECT DEPTNO , SUM(SAL) , ROUND(AVG(SAL), 2) FROM EMP GROUP BY DEPTNO; SELECT 성별 , COUNT(*) AS CNT FROM 수강 WHERE 강의번호 = 1 -- 데이터모델링과SQL GROUP BY 성별;
※ GROUP BY 사용시, Select List에는 Group by에 기술된 칼럼 외의 칼럼은 집계함수만 사용가능
◆ PRACTICE
1) EMP테이블에서 직업 별로 최고 급여액, 최저 급여액, 총급여액, 평균 급여액을 표시하는 질의 작성
SELECT JOB , MAX(SAL) AS SAL_MAX , MIN(SAL) AS SAL_MIN , SUM(SAL) AS SAL_TOTAL , ROUND(AVG(SAL)) AS SAL_AVG FROM EMP GROUP BY JOB
2) EMP테이블에서 부서별로 사원수, 직업수, 총급여 평균급여를 출력하시오
SELECT DEPTNO , COUNT(*) AS DEPT_EMP_CNT , COUNT(DISTINCT(JOB)) AS JOB_CNT , SUM(SAL) AS TOT_SAL , ROUND(AVG(SAL), 2) AS AVG_SAL FROM EMP GROUP BY DEPTNO
3) EMP테이블에서 직업 별, 입사년도 별로 총 급여액을 표시하는 질의를 작성하시오
SELECT JOB , TO_CHAR(HIREDATE, 'YYYY') AS HIRE_YEAR , COALESCE(SUM(SAL), 0) AS SAL_TOTAL FROM EMP GROUP BY JOB, HIRE_YEAR
'SQL' 카테고리의 다른 글
SQL(ORDER BY) (0) 2023.04.18 SQL(HAVING 절) (0) 2023.04.18 다중행 함수(집계함수 Aggregate Function) (0) 2023.04.18 SQL 함수(CASE 문) (0) 2023.04.13 SQL 함수(명시적 유형변환 함수) (0) 2023.04.12