일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 가장 많이 사용되는 파이썬 패키지
- 오라클 데이터베이스 내장함수
- 가장 인기있는 파이썬 패키지
- bard 100% 신뢰금지
- robux
- 파이썬 TypeError
- 주상복합용지 분양
- 공개서적
- 전세보증보험
- 임대소득외 추가소득이 있을 경우
- 주택임대사업자
- chatgpt vs bard
- 종합과세
- 나는 어디로?
- 종합소득세
- 데이터 리터러시
- 상업시설용지 분양
- 가장 인기있는 파이썬 라이브러리
- 2룸 오피스텔 투자
- Google vs MicorSoft
- 오피스텔투자
- 라이브러리 vs 패키지
- Google vs OpenAI
- 갤럭시탭 with Pen
- 소형주택 세액감면
- chatgpt 100% 신뢰금지
- Python
- 가장 많이 사용되는 파이썬 라이브러리
- 다주택임대
- PostgreSQL
All thing of the world!
Oracle AVG 설명 : 오라클 함수 본문
1. 함수의 목적
Oracle AVG는 parameter로 받은 인자의 평균값을 구해 리턴한다. 집계와 분석용으로 사용가능하다.
2. 샘플을 통한 개념 퀵뷰
SELECT AVG(salary) "Average"
FROM employees;
Average
--------------
6461.83178
3. 사용방법
4. 함수 PARAMETER 설명
[expr]
숫자 타입 혹은 비숫자타입이라도 숫자로 형변환이 가능한 것을 인자로 사용할 수 있다.
본 함수의 리턴값은 [expr]의 데이터타입으로 반환한다.
[DISTINCT]를 지정하면 [analytic_clause]의 [query_partition_clause]만 지정할 수 있고,
[order_by_clause] 및 [windowing_clause]는 허용되지 않는다.
[ALL]
[ALL]은 DISTINCT의 반대다. 기본적으로 [DISTINCT]를 명시하지 않으면, [ALL]이다.
5. 다양한 샘플표현
example 1) distinct를 사용하면 order_by_clause는 허용되지 않는다.
select avg(distinct department_id) over (partition by manager_id order by manager_id) from employees;
ORA-30487: ORDER BY를 여기에 사용할 수 없습니다
30487. 00000 - "ORDER BY not allowed here"
*Cause: DISTINCT functions and RATIO_TO_REPORT cannot have an ORDER BY
*Action:
5행, 66열에서 오류 발생
example2) DISTINCT를 쓰면 [query_partition_clause]까지는 지정가능하며, 에러없이 수행된다.
select avg(distinct department_id) over (partition by manager_id) from employees;
AVG(DISTINCTDEPARTMENT_ID)OVER(PARTITIONBYMANAGER_ID)
-----------------------------------------------------
54
54
54
54
54
54
54
54
54
54
54
example 2) ALL을 사용한 경우와 안한 경우, 결과는 동일하다.
select avg(all department_id) from employees; --ALL을 사용한 경우
AVG(ALLDEPARTMENT_ID)
---------------------
63.2075472
select avg(department_id) from employees; --ALL을 사용하지 않은 경우
AVG(DEPARTMENT_ID)
------------------
63.2075472
example3) DISTINCT를 사용한 경우와 안한 경우, 결과는 다르다.
select avg(distinct department_id) from employees; --DISTINCT를 사용한 경우
AVG(DISTINCTDEPARTMENT_ID)
--------------------------
60
select avg(department_id) from employees; --DISTINCT를 사용하지 않은 경우
AVG(DEPARTMENT_ID)
------------------
63.2075472
example 4) 혹시 남자와 여자의 중간인 개념상의 평균인 중년아줌마/중년아저씨를 알아낼 수 있을까? 빅데이터와 AI의 시대니까!
select avg(x) from (select '남자' x from dual union all select '여자' x from dual);
select avg(x) from (select '남자' x from dual union all select '여자' x from dual)
*
1행에 오류:
ORA-01722: 수치가 부적합합니다
안타깝지만, 없다!
'IT > Oracle DBMS' 카테고리의 다른 글
1장의 그림으로 정리한 오라클 데이터베이스 프로세스 (0) | 2021.04.07 |
---|---|
Oracle ABS 설명 : 오라클 함수 (0) | 2021.04.07 |
Oracle CONCAT 설명 : 오라클 함수 (0) | 2021.04.06 |
Oracle COUNT 설명 : 오라클 함수 (0) | 2021.04.06 |
Oracle CURRENT_DATE 설명 : 오라클 함수 (0) | 2021.04.06 |