Language/SQL

[DATABASE] 정렬(ORDER NY) 및 그룹 통계(GROUP BY)

simDev1234 2022. 4. 18. 22:26

■ 정렬 (ORDER BY)

ORDER BY 필드 [asc | desc]  필드를 기준으로 정렬
ORDER BY 필드1 [asc | desc], 필드2 [asc | desc] 필드1을 기준으로 1차 정렬 후, 필드2를 기준으로 2차 정렬

* ASC = ASCENDING (오름차순), DESC = DESCENDING (내림차순)

 

■ 그룹 통계 (GROUP BY)

GROUP BY 필드 필드의 분류를 기준으로 그룹핑

* SELECT ~ FROM 사이에 들어올 수 있는 항목, GROUP BY 컬럼, 통계함수(COUTN,SUM,AGV,MIN,MAX..)

 

[예제1 _ 부서별 인원수, 급여 합계를 구하는 쿼리]

SELECT 
  DEPTNO 부서번호,
  AVG(SALARY) 급여평균,
  MAX(SALARY) 최고급여,
  MIN(SALARY) 최소급여
FROM MEMBER
GROUP BY DEPTNO
ORDER BY DEPTNO

 

[예제2 _ 연봉 3000이상인 부서간 성별 인원수, 평균급여]

SELECT
   DEPTNO 부서번호,
   GENDER 성별,
   COUNT(*) 인원수,
   AVG(SALARY) 급여평균
FROM MEMBER
WHERE SALARY >= 3000
GROUP BY DEPTNO, GENDER
ORDER BY DEPTNO, GENDER;