본문 바로가기

Oracle/SQL Query

[Oracle] window function (analytic) (주관적인 입장에서) 잘 안쓰는 함수 정리 테스트 환경 oracle 11gr2 - scott/tiger 참조: sql 전문가 가이드 1. ratio_to_report 함수 해당 컬럼을 컬럼/sum(컬럼)으로 나타냄 SELECT ENAME, SAL, ROUND(RATIO_TO_REPORT(SAL) OVER(), 2) AS R_R FROM EMP WHERE JOB = 'SALESMAN'; 2. percent_rank 함수 처음과 끝을 0 과 1로 잡고 위치를 나타냄 SELECT DEPTNO, ENAME, SAL, PERCENT_RANK() OVER (PARTITION BY DEPTNO ORDER BY SAL DESC) AS P_R FROM EMP; 3. cume_dist 함수 건수의 누적 백분율이란다. 마지.. 더보기
[퍼옴] 윈도우 함수 (UNBOUNDED PRECEDING / FOLLOWING / CURRENT) 윈도우 함수 [출처] 윈도우 함수 (UNBOUNDED PRECEDING / FOLLOWING / CURRENT)|작성자 Kyrandes 분석함수중에서 윈도우절(WINDOW절)을 사용할수 있는 함수를 윈도우함수라고 한다. 고로 분석함수중에서 일부만 윈도우절을 사용할수 있다는것이다. PARTITION BY 절에 의해 명시된 그룹을 다시 그룹핑할수 있다. 윈도우 함수 종류 - AVG, COUNT, FIRST_VALUE, LAST_VALUE, MAX, MIN, STDDEV, SUM... 문법 > SUM(컬럼명) OVER( PARTITION BY [컬럼] ORDER BY [컬럼] [ASC/DESC] ROWS / RANGE BETWEEN UNBOUNDED PRECEDING / PRECEDING / CURRENT R.. 더보기
[Oracle] Connect by 부가 기능 [출처: 오라클 클럽] Oracle10g에서 CONNECT BY의 새로운 기능들 오라클팁의 "계층 구조의 조회(Hierarchical Queries)" 강좌에서 CONNECT BY 와 START WITH를 상관관계 쿼리에 대해서 소개를 했었습니다. Oracle10g 부터 CONNECT BY 절에서 제공하는 CONNECT_BY_ROOT, SYS_CONNECT_BY_PATH, CONNECT_BY_ISLEAF 기능에 대해서 알아보겠습니다. 상관관계 쿼리 예제 아래 예제와 같이 계층구조로 조회 할 수 있습니다. SQL> SELECT LPAD(' ', 4*(LEVEL-1)) || ename ename, empno FROM emp START WITH job='PRESIDENT' CONNECT BY PRIOR emp.. 더보기
[QUERY] SQL_ID 에 따른 FULL SQL 문 확인하기 -- SQL_ID 에 따른 FULL SQL TEXT 문 확인하기 select SQL_ID,SQL_TEXT from v$sqltext where SQL_ID in ('dad15v2d481cx','4xtcucpt68296') order by SQL_ID,PIECE; 더보기
QUERY TEST [CASE BY CASE] * 'ALL'인 경우에는 모든 값을 값이 명시된 경우에는 해당값만 가져와라. WITH T1 AS ( SELECT 1 C1,'1' C2 FROM DUAL UNION ALL SELECT 1 ,'2' FROM DUAL UNION ALL SELECT 1 ,'3' FROM DUAL UNION ALL SELECT 1 ,'4' FROM DUAL UNION ALL SELECT 1 ,'5' FROM DUAL UNION ALL SELECT 2 ,'1' FROM DUAL UNION ALL SELECT 2 ,'2' FROM DUAL UNION ALL SELECT 2 ,'3' FROM DUAL UNION ALL SELECT 2 ,'4' FROM DUAL UNION ALL SELECT 2 ,'5' FROM DUAL UNION A.. 더보기