무병이
무병이개발일기
무병이
전체 방문자
오늘
어제
  • 모든 (17)
    • DATABASE (15)
      • MYSQL (0)
      • ORACLE (11)
      • POSTGRE (3)
    • Study (0)
      • 게시판 만들기 (0)
    • back-end (Web) (1)
      • Spring-Project (sts3) 셋팅 (0)
      • 정리 (1)
    • 프로젝트 (0)
      • 도서관리프로그램 (0)

티스토리

hELLO · Designed By 정상우.
무병이

무병이개발일기

Oralce - GROUP BY(그룹)
DATABASE/ORACLE

Oralce - GROUP BY(그룹)

2022. 3. 14. 14:06

GROUP BY = 특정 컬럼을 기준으로 집계를 내는데 사용된다.

 

실습 환경

Windows 10

Oracle 11g Express Edition Release 11

Oracle SQL Developer 

Database ( hr ) - hr 테이블은 오라클에서 지원하는 테이블입니다.


COUNT와 GROUP BY를 활용한 명령어 1

SELECT department_id , COUNT(*) FROM employees
GROUP BY department_id ;

위에서 설명하듯이 GROUP BY란 컬럼을 기준으로 집계를 내는걸로 사용한다.

코드로 본다면 SELECT 로 department_id ,  COUNT(*) 값을 employees 라는 테이블에서 참조해서 출력하는데

그 값을 GROUP BY 한다 기준은 department_id로 해서. 라고 생각하면 좋다.

COUNT와 GROUP BY를 활용한 명령어1 결과 값

 

COUNT와 GROUP BY를 활용한 명령어 2

SELECT department_id , JOB_ID , COUNT(*) FROM employees
GROUP BY department_id , JOB_ID;

위 예제랑 비슷하다. ->  컬럼이 1개 추가된 것 뿐이다.

설명은 따로 하지 않아도 위 예제를 이해 했다면 이번 예제는 쉽게 이해 할 수 있다.

이 예제는 JOB_ID 컬럼을 추가한거고 그에 따른 GROUP BY절에 JOB_ID를 추가해줬을 뿐이다.

COUNT와 GROUP BY를 활용한 명령어 2 결과 값

 

AVG와 GROUP BY를 활용한 명령어 

SELECT department_id , JOB_ID , AVG(salary) FROM employees
GROUP BY department_id , JOB_ID;

AVG는 에버레이지 함수이다. AVG(salary)는 평균을 구할 컬럼을 조건으로 준 것이다. salary는 employees에 있다.

전체적 개념은 위와 비슷한 개념으로 접근 하면된다 

GROUP BY department_id , JOB_ID; 라는 조건으로 집계를 한다 그렇다면 department_id와 JOB_ID값이 같은 데이터를 집계 할것 이다 그중에서 AVG(salary) 값을 순서대로 집계해서 출력해준다.

'DATABASE > ORACLE' 카테고리의 다른 글

Oracle - Decode  (0) 2022.03.15
Oracle - NVL , NVL2 , COALESCE  (0) 2022.03.15
Oralce - TO_CHAR ()  (0) 2022.03.14
Oralce - HAVING  (0) 2022.03.14
Oracle - DISTINCT(중복제거)  (0) 2022.03.14
    'DATABASE/ORACLE' 카테고리의 다른 글
    • Oracle - NVL , NVL2 , COALESCE
    • Oralce - TO_CHAR ()
    • Oralce - HAVING
    • Oracle - DISTINCT(중복제거)
    무병이
    무병이
    안농~!

    티스토리툴바