목차
분석 기능 (및 사용할 때)
집계 기능이 어떻게 다르게 작동하는지
한 눈에 중요한 차이점
데이터 베이스 Oracle Oracle Analytic 함수는 무엇이며 집계 함수와 어떻게 다릅니 까?

Oracle Analytic 함수는 무엇이며 집계 함수와 어떻게 다릅니 까?

Oct 06, 2025 am 12:56 AM
집계 함수

Oracle 분석 기능을 통해 결과 세트를 병합하지 않고 관련 행을 계산할 수 있으며 원래 구조를 유지 해야하는 시나리오에 적합합니다. Windows (예 : 정렬, 그룹화 또는 오프셋)를 정의하여 작동합니다. 일반적인 용도는 누적 합계 계산, 순위 (rank (), dense_rank ()), 각 그룹의 첫 번째 N 항을 취하고 현재 행을 이전 및 다음 행과 비교하는 등; 예를 들어, avg ()를 사용하여 (파티션 by)를 사용하면 행 수를 줄이지 않고 각 그룹의 평균값을 추가 할 수 있습니다. 대조적으로, 골재 함수 (예 : Sum, AVG)는 여러 행을 단일 값으로 병합하여 정보가 필요한 시나리오에 적합합니다. 주요 차이점은 다음과 같습니다. 1. 출력 라인 수 : 각 집계 함수 그룹에 대해 하나의 행이 출력되고, 각 입력 라인 분석 기능에 대해 하나의 행이 출력됩니다. 2. 오버 절 : 분석 함수는 기본적으로 사용하지 않지만 집계 함수는 기본적으로 사용하지 않습니다. 3. 기능 : 집계 함수는 데이터를 요약하는 데 사용되며 분석 기능은 순위, 비교 및 ​​컨텍스트 계산을 지원합니다. 따라서 자세한 데이터를 유지하고 그룹 계산을 첨부 할 때는 분석 기능을 선택해야하며 요약하려면 집계 기능 만 필요합니다.

Oracle Analytic Functions는 현재 행과 관련된 일련의 테이블 행에서 계산을 수행 할 수있는 도구입니다. 결과는 집계 함수와 마찬가지로 단일 행으로 세트를 붕괴시키지 않습니다. 원래 구조를 그대로 유지하면서 데이터 순위를 매기거나 이동 평균을 계산하거나 다른 행의 값을 비교할 때 특히 유용합니다.

분석 기능 (및 사용할 때)

분석 기능은 "창"또는 현재 행 주변의 행 세트를 정의하여 작동합니다. 이 창은 주문, 그룹화 ( PARTITION BY 사용) 또는 이전 또는 다음 행과 같은 물리적 오프셋을 기반으로 할 수 있습니다.

일반적인 사용 사례는 다음과 같습니다.

  • 실행 합계 또는 누적 합계 계산
  • RANK() , DENSE_RANK() 등을 사용하여 그룹 내 순위를 순위
  • 그룹당 상위 N 결과를 얻습니다
  • 현재 행 값을 사전 또는 다음 값과 비교합니다

예를 들어, 부서의 평균 급여와 함께 각 직원의 급여를 보여 주려면 다음을 사용할 수 있습니다.

 선택하다 
  emp_id, 
  dept_id, 
  급여,
  avg_salary로 avg (Salary) Over (dept_id의 파티션)
직원으로부터;

이렇게하면 테이블에서 모든 행을 반환하지만 각 부서의 평균을 보여주는 새 열을 추가합니다. 집계 기능만으로는 깨끗하게 할 수없는 것입니다.

집계 기능이 어떻게 다르게 작동하는지

SUM() , AVG()COUNT() 와 같은 집계 함수는 여러 행을 단일 값으로 무너 뜨립니다. 더 이상 개별 행에 신경 쓰지 않는 요약 보고서에 좋습니다.

집계를 사용하여 동일한 평균 급여 계산을 시도한 경우 쿼리가 다음과 같습니다.

 선택하다 
  dept_id, 
  avg_salary로서 AVG (급여)
직원들로부터
dept_id에 의한 그룹;

그러나 이것은 추가 정보가있는 직원의 전체 목록이 아니라 부서 당 하나의 행만 제공합니다. 개별 세부 사항과 집계 된 값이 모두 필요한 경우 분석 기능이 진행됩니다.

또한, 분석 함수 (첫 번째 예에서와 같이)로 사용되는 집계 함수는 OVER() 절 때문에 다르게 행동하며, 이는 Oracle에게 행을 무너 뜨리지 않도록 지시합니다.

한 눈에 중요한 차이점

그들이 어떻게 쌓이는 방법은 다음과 같습니다.

  • 행 출력 :

    • 집계 : 그룹당 하나의 결과 행
    • 분석 : 입력 행 당 하나의 결과 행
  • OVER() 조항 사용 :

    • 집계 : 분석 기능으로 바뀌지 않는 한 사용되지 않습니다
    • 분석 : 항상 OVER()
  • 목적 :

    • 집계 : 데이터를 요약합니다
    • 분석 : 관련 행의 맥락에서 값을 계산합니다
  • 순위 및 비교 :

    • 집계 : 직접 순위를 매기거나 비교할 수 없습니다
    • Analytic : Ranking ( RANK() , ROW_NUMBER() ) 및 LAG/LEAD 함수에 대한 내장 지원 ( LAG() , LEAD() )

대시 보드, 성능 보고서 또는 그룹화 수준의 통찰력이 풍부한 세부 수준 데이터를 표시하려는 모든 곳에서 사용되는 분석 기능이 종종 표시됩니다.


따라서 각각을 사용하는시기를 이해하려고한다면 출력에서 ​​원하는 것을 생각해보십시오. 요약? 집계를 사용하십시오. 행을 유지해야하지만 계산 된 컨텍스트를 추가해야합니까? 분석과 함께 가십시오.

기본적으로 그게 다야.

위 내용은 Oracle Analytic 함수는 무엇이며 집계 함수와 어떻게 다릅니 까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Stock Market GPT

Stock Market GPT

더 현명한 결정을 위한 AI 기반 투자 연구

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제

오라클의 합계와 개수의 차이점 오라클의 합계와 개수의 차이점 May 02, 2024 pm 11:09 PM

Oracle의 SUM은 Null이 아닌 값의 합계를 계산하는 데 사용되는 반면, COUNT는 중복 값을 포함하여 모든 데이터 유형의 Null이 아닌 값의 개수를 계산합니다.

SQL에서 합계 함수를 사용하는 방법 SQL에서 합계 함수를 사용하는 방법 May 02, 2024 am 12:01 AM

SQL의 SUM() 함수는 숫자 열의 합계를 계산하는 데 사용됩니다. 지정된 열, 필터, 별칭, 여러 열의 그룹화 및 집계를 기반으로 합계를 계산할 수 있지만 숫자 값만 처리하고 NULL 값은 무시합니다.

오라클의 count1과 count*의 차이점 오라클의 count1과 count*의 차이점 Apr 30, 2024 am 06:12 AM

Oracle에서 COUNT(1)과 COUNT(*)의 차이점은 다음과 같습니다. COUNT(1)는 null 값을 무시하고 비어 있지 않은 행만 계산합니다. COUNT(*)는 선택할 함수에 따라 null 값을 포함하여 모든 행을 계산합니다. on: null 값이 있는지 여부, 성능 또는 일관성을 우선시합니다.

SQL에서 그룹별 및 순서별을 함께 사용하는 방법 SQL에서 그룹별 및 순서별을 함께 사용하는 방법 May 02, 2024 am 03:09 AM

그룹화된 데이터는 GROUP BY 및 ORDER BY를 사용하여 정렬할 수 있습니다. 1. GROUP BY는 데이터를 그룹화합니다. 2. ORDER BY는 각 데이터 그룹을 정렬합니다.

SQL의 집계되지 않은 열이란 무엇입니까? SQL의 집계되지 않은 열이란 무엇입니까? May 01, 2024 pm 10:51 PM

SQL의 비집계 열은 단일 레코드 값을 저장하고 집계 함수로 처리되지 않는 열입니다. 이 열에는 각 레코드에 대한 고유한 값이 포함되어 있으며 데이터를 식별, 분류 또는 필터링하는 데 사용됩니다.

SQL에서 sc는 무엇을 의미합니까? SQL에서 sc는 무엇을 의미합니까? May 02, 2024 am 03:33 AM

SC는 SQL의 SELECT COUNT를 의미하며, 조건 충족 여부에 따라 레코드 수를 계산하는 데 사용되는 집계 함수입니다. SC 구문: SELECT COUNT(*) AS Record_count FROM table_name WHERE 조건, 여기서 COUNT(*)는 모든 레코드 수를 계산하고, table_name은 테이블 이름이고, Condition은 선택적 조건입니다(조건을 충족하는 레코드 수를 계산하는 데 사용됨). 상태).

SQL의 합계 계산 방법 SQL의 합계 계산 방법 May 09, 2024 am 09:27 AM

SQL SUM 함수는 숫자 집합을 더하여 숫자 집합의 합계를 계산합니다. 연산 프로세스에는 다음이 포함됩니다. 1. 입력 값 식별 2. 입력 값을 반복하여 숫자로 변환 3. 합계를 누적하기 위해 각 숫자를 더함 4. 합계 결과 반환

SQL의 집계 함수는 무엇입니까? SQL의 집계 함수는 무엇입니까? May 02, 2024 am 01:12 AM

SQL의 집계 함수는 행 집합에 대한 단일 값을 계산하고 반환하는 데 사용됩니다. 일반적인 집계 함수는 다음과 같습니다. 숫자 집계 함수: COUNT(), SUM(), AVG(), MIN(), MAX() 행 집합 집계 함수: GROUP_CONCAT(), FIRST(), LAST() 통계 집계 함수: STDDEV( ), VARIANCE() 선택적 집계 함수: COUNT(DISTINCT), TOP(N)

See all articles