godkimchichi.log
로그인
godkimchichi.log
로그인
Oracle - 집계함수 AVG
갓김치
·
2020년 8월 20일
팔로우
0
200820
AVG
CASEWHEN
ORDER BY
SYSDATE
extract
rownum
뷰
서브쿼리
오라클
집계함수
평균
0
Oracle
목록 보기
18/33
참고
2020-08-18-02)집계함수.sql
AVG(expr)
expr은 컬럼명이나 수식
그룹핑된 expr에 저장된 값에 대한 평균을 반환
★결과값이 소수점이 나올 수있다는 것을 염두 (갯수, 인원수 제외)
예시
1. 사원테이블에서 각 부서별 평균 급여를 구하시오.
SELECT: 집계함수를 제외시킨 일반컬럼은 GROUP BY에 기술되어 그룹핑되기때문에 필요없는 일반컬럼을 쓰면 안됨
부서+사원+AVG(급여) -> 부서별 사원별 이렇게되서 1명씩됨
부서+급여+AVG(급여) -> 부서내에서 급여같은사람끼리 묶임
2. 매입테이블에서 2005년 3월 제품별 평균 매입수량을 조회하시오
WHERE절: '20050301'이라고 해도됨, TO_DATE 사용은 더 정확히 하기 위해서임.
문제
1-1. 회원테이블에서 50대 회원의 성별별 평균 마일리지를 구하시오 (생일 기준 나이)
1-2. 회원테이블에서 50대 회원의 성별별 평균 마일리지를 구하시오 (주민등록상 나이)
2. 장바구니테이블에서 2005년 5월 회원별 평균매출액을구하시오
단, 평균매출액이 100만원 이상인 회원만 조회하시오
Alias는 회원번호, 평균매출액
주의사항
JOIN 조건이 없으면 PROD 첫번째 행의 가격으로 곱하기가 됨
TO_DATE(SUBSTR()) BETWEEN '' AND '' 의 속도가 LIKE '%'보다 빠름
LIKE는 패턴을 비교하기 때문에 느림
HAVING 조건도 SELECT 컬럼내용처럼 반올림해줘야함
DB는 정확한 데이터가 생명. 원단위 절삭보다는 소수점만 절삭하는걸로!
사원테이블에서 부서별 사원들의 평균 근속년수를 구하고 근속년수가 가장 큰 부서 3개만 출력하시오
A안의 뷰
결과
주의사항
ROWNUM은 WHERE절 안에서 사용 가능
ROWNUM과 ORDER BY는 함께 쓰일 수 없다
ORDER BY 진행한 후, 뷰를 조인 테이블에 넣어 그 쿼리안에서 WHERE 절에 ROWNUM 넣어야함
갓김치
갈 길이 멀다
팔로우
이전 포스트
Oracle - 집계함수 SUM
다음 포스트
Oracle - 집계함수 - COUNT
0개의 댓글
댓글 작성