연산함수
COUNT
SUM
AVG
MAX
MIN
ROLLUP :소계값
CUBE :소계 및 전체 총계
GROUPING: 그룹화 여부 - 결과는 1혹 0
GROUPINGSET: 한번의 질의로 여러개 그룹화
그룹화
A.GROUP BY
GOURP BY는 열의 행화 라고 생각하면 쉽다.
테이블이 있으면 왼쪽으로 90도 돌려보자
이때 할 칼럼이 이번에는 행이 되지 않았나?
이 행이 GROUP 화 된 결과라고 생각하면 쉽다.
!주의점
1. SELECT 절에서 사용된 그룹함수 이외의 컬럼이나 표현식은 GROUP BY 필수
--not a GROUP BY expression
그룹함수 안쓰면 안해도 된다.
2. GROUP BY 절에 사용된 칼럼은 SELECT 절에 사용되지 않아도 된다.
--하지만 결과는 SELECT 되지 않는다.
3.GROUP BY 는 alias 로 설정할수 없다.
4. 11이후 버전은 정렬시 ORDER BY가 필요하다
사용예시
GROUP BY A , 그룹 함수(B) 일때 . A기준으로 그룹화, B를 그룹함수 에 적용
B. 조건을 주고 검색하기 : HAVING
단일행 함수의 조건은 WHERE로 찾고
그룹화 같은 복수행 함수의 조건은 HAVING 으로 찾는다.
보통 GROUP BY 뒤에 위치한다.
WHERE : 단일행 함수는 선에서 어떤 위치에 있는지 찾는거고
HAVING: 복수행 함수는 선이 그룹화된 면에서 조건에 해당하는 것을 선택한 면이 가지고 있는지 찾는것
C.기타
RANK : 순위 집계
RANK(조건) WITHIN GROUP(ORDER BY 조건값 칼럼명[ASC|DESC])
'DB관련 > oracle' 카테고리의 다른 글
PL/SQL -2 스칼라 변수 (0) | 2021.01.20 |
---|---|
PL/SQL -1 (0) | 2021.01.20 |
일반 함수(nvl, nvl2, decode) (0) | 2021.01.15 |
형과 형 변환 함수 (0) | 2021.01.15 |
숫자 함수, 날짜 함수 (0) | 2021.01.15 |