반응형
GROUP BY 정의
데이터를 그룹으로 묶을 때 사용하며 보통 집계함수인 COUNT, SUM, AVG, MAX, MIN 함수와 함께 사용함
GROUP BY 문법
SELECT [컬럼]
FROM [테이블명]
WHERE [조건]
GROUP BY [컬럼]
HAVING [조건]
|
GROUP BY 사용 방법
GROUP BY를 사용하기 위해 테스트 데이터를 생성하겠습니다.
CREATE TABLE EXA(
NAME VARCHAR2(20) NOT NULL,
SCORE INTEGER NOT NULL,
GRADE INTEGER NOT NULL,
PRIMARY KEY(NAME)
);
INSERT INTO EXA VALUES('홍길동', 70, 2);
INSERT INTO EXA VALUES('원숭이', 30,2);
INSERT INTO EXA VALUES('두부', 10,2);
INSERT INTO EXA VALUES('신동엽', 90,1);
INSERT INTO EXA VALUES('노진구', 100,1);
INSERT INTO EXA VALUES('퉁퉁이', 50,1);
INSERT INTO EXA VALUES('이슬이', 95,1);
INSERT INTO EXA VALUES('손오공', 35,1);
2학년 학생들의 평균 점수를 구하시오.
SELECT GRADE, AVG(SCORE) AS AVG
FROM EXA
WHERE GRADE = 2
GROUP BY GRADE
평균 점수가 70점 이상인 학년을 구하시오.
SELECT GRADE, AVG(SCORE) AS AVG
FROM EXA
GROUP BY GRADE
HAVING AVG(SCORE) >= 70
WHERE 절과 HAVING 절의 차이점은?
집계함수를 사용할 수 있는지, 없는지의 차이입니다. WHERE 절에서는 집계함수를 사용할 수 없지만 HAVING 절에서는 집계함수를 사용할 수 있습니다.
반응형
'개발 & 데이터베이스 > DB' 카테고리의 다른 글
ORACLE 프로시저 생성 및 커서 사용 방법 (0) | 2022.01.26 |
---|---|
오라클 LIKE 함수, REGEXP_LIKE 함수 (다중 LIKE) (0) | 2022.01.17 |
[ORACLE] 시퀀스(Sequence) 생성과 사용 방법 (0) | 2021.12.20 |
[ORACLE] 집합 연산자 종류와 사용 방법 (합집합/교집합/차집합) (0) | 2021.12.11 |
[ORACLE] BLOB 타입 조회하는 방법 (0) | 2021.12.02 |