본문 바로가기
728x90

SQL쿼리5

[ORACLE] NTH_VALUE() 함수로 특정 순위의 값 가져오는 법 Oracle SQL의 NTH_VALUE() 함수는 분석 함수 중 하나로, 윈도 내 N번째 행의 값을 반환하는 기능을 합니다. 특정 순위의 데이터를 추출해야 하는 다양한 실무 상황에서 유용하게 쓰입니다.1. NTH_VALUE() 함수란?NTH_VALUE(expr, N) OVER (PARTITION BY... ORDER BY... ROWS BETWEEN...) 형식으로 사용되며, 윈도 내 N번째 행의 expr 값을 반환합니다.expr: 반환할 열(칼럼)의 값N: 반환할 행의 위치 (1부터 시작)PARTITION BY: 그룹핑 기준ORDER BY: 정렬 기준 (N번째 결정 요소)ROWS BETWEEN: 윈도 범위2. 기본 사용 예제SELECT employee_id, salary, NTH_VALUE(.. 2025. 6. 22.
[ORACLE] STATS_MODE() 함수, GROUP BY와 함께 활용하는 방법 Oracle SQL의 STATS_MODE() 함수는 데이터 집합에서 가장 자주 등장하는 값(즉, 최빈값)을 반환하는 통계 함수입니다. 이 함수는 데이터 분석에서 패턴을 파악하고, 이상치를 감지하거나 주요 요소를 추출하는 데 유용합니다.1. STATS_MODE() 함수란?STATS_MODE() 함수는 지정된 칼럼에서 가장 빈도수가 높은 값을 반환합니다. 최빈값(mode)은 통계에서 가장 자주 나타나는 수치이며, 평균이나 중앙값과는 다른 분석 기준을 제공합니다.SELECT STATS_MODE(department_id) FROM employees;2. 함수 특징오직 Oracle 10g 이상에서 사용 가능숫자형, 문자형 모두 사용 가능NULL 값은 자동으로 제외됨동일 빈도값이 여러 개일 경우: 가장 작은 값 반.. 2025. 6. 22.
[ORACLE] REGEXP_SUBSTR() 함수로 텍스트 분리하는 실무 활용 법 Oracle SQL에서 복잡한 문자열 패턴을 추출하기 위해 사용하는 대표적인 함수 중 하나가 REGEXP_SUBSTR()입니다. 이 함수는 정규표현식을 기반으로 동작하며, 단순한 SUBSTR() 함수보다 훨씬 유연하게 다양한 텍스트를 처리할 수 있습니다. 본 글에서는 REGEXP_SUBSTR 함수의 원리, 문법, 실무 활용법까지 상세히 설명합니다.1. REGEXP_SUBSTR 함수란?REGEXP_SUBSTR() 함수는 Oracle에서 문자열에서 정규표현식 패턴에 일치하는 하위 문자열을 추출하는 함수입니다.REGEXP_SUBSTR(source_string, pattern [, position [, occurrence [, return_option [, match_parameter]]]])source_str.. 2025. 6. 4.
[ORACLE] NTILE() 함수로 순위 그룹 나누기 완벽 가이드 NTILE() 함수는 Oracle SQL의 분석 함수(윈도 함수) 중 하나로, 지정한 수의 동일한 구간(타일)으로 행을 분할하는 데 사용됩니다. 데이터를 사분위수, 분위수 등으로 나누고자 할 때 매우 유용하게 사용되며, 고객 등급, 점수 구간, 판매 순위 등의 실무에서 자주 활용됩니다.1. NTILE() 함수란?NTILE(n) 함수는 데이터를 n개의 동일한 그룹으로 나누고 각 행이 속한 구간 번호(1 ~ n)를 반환합니다.문법NTILE(n) OVER (ORDER BY column_name)n: 나눌 구간 수 (정수)ORDER BY: 정렬 기준 칼럼 (필수)2. NTILE() 기본 예제SELECT employee_id, salary, NTILE(4) OVER (ORDER BY salary DES.. 2025. 6. 1.
[ORACLE] SUM() 함수 기본 문법부터 실무 활용 팁까지 1. SUM 함수란?SUM() 함수는 숫자형 칼럼의 총합을 계산하는 Oracle SQL의 대표적인 집계 함수입니다. GROUP BY, PARTITION BY 절과 함께 쓰이면 더욱 강력한 통계 분석 도구로 변모합니다.📌 기본 문법SELECT SUM(컬럼명) FROM 테이블명;2. SUM 함수의 기본 예제예제: 전체 직원의 급여 총합SELECT SUM(sal) AS total_salary FROM emp;결과 예시:total_salary290253. GROUP BY와 함께 사용하기GROUP BY는 특정 칼럼을 기준으로 데이터를 묶은 후, 각 그룹별로 합계를 구할 수 있게 해 줍니다.예제: 부서별 급여 총합SELECT deptno, SUM(sal) AS dept_total_salary FROM emp .. 2025. 5. 31.
728x90