WIDTH_BUCKET
구문
WIDTH_BUCKET
(expr, min_value, max_value, num_buckets)
목적
WIDTH_BUCKET 함수는 등너비 히스토그램(equiwidth histograms)을 생성하는 데 사용됩니다. 이 히스토그램은 히스토그램 범위를 동일한 크기의 구간으로 나누어 구성합니다. (이 함수는 등고도 히스토그램(equiheight histograms)을 생성하는 NTILE 함수와 비교됩니다.) 이상적으로 각 버킷은 실수 형태의 닫힌-열린 간격(closed-open interval)입니다. 예를 들어, 한 버킷은 10.00부터 19.999 사이의 점수에 할당될 수 있으며, 이는 10이 간격에 포함되고 20은 제외됨을 나타냅니다. 이것은 때로 [10, 20)으로 표시됩니다.
주어진 표현식에 대해 WIDTH_BUCKET은 이 표현식의 값을 평가한 후 떨어지게 될 버킷 번호를 반환합니다.
- expr은 히스토그램이 생성되는 표현식입니다. 이 표현식은 숫자 또는 날짜 값으로 평가되거나 숫자 또는 날짜 값으로 암묵적으로 변환할 수 있는 값을 반환해야 합니다. expr이 null로 평가되면 이 표현식은 null을 반환합니다.
- min_value와 max_value는 expr에 대한 허용 범위의 끝점을 해결하는 표현식입니다. 이러한 표현식은 또한 숫자 또는 날짜 값으로 평가되어야 하며 둘 다 null로 평가될 수 없습니다.
- num_buckets은 상수를 해결하는 표현식으로, 버킷 수를 나타냅니다. 이 표현식은 양의 정수로 평가되어야 합니다.
참고:
암묵적 변환에 대한 자세한 내용은 표 2-8을 참조하십시오.
필요한 경우, Oracle Database는 번호 0의 하향식 버킷과 번호 num_buckets+1의 상향식 버킷을 생성합니다. 이러한 버킷은 min_value 미만 또는 max_value 초과의 값을 처리하며, 끝점의 합리성을 확인하는 데 도움이 됩니다.
예제
다음 예제는 샘플 테이블 oe.customers의 스위스 고객에 대한 credit_limit 열에 대한 열 개수가 10인 히스토그램을 생성하고 각 고객에 대한 버킷 번호("Credit Group")를 반환합니다. 최대 값보다 크거나 같은 신용 한도를 가진 고객은 오버플로 버킷, 즉 11에 할당됩니다:
SELECT customer_id, cust_last_name, credit_limit,
WIDTH_BUCKET(credit_limit, 100, 5000, 10) "Credit Group"
FROM customers WHERE nls_territory = 'SWITZERLAND'
ORDER BY "Credit Group", customer_id, cust_last_name, credit_limit;
CUSTOMER_ID CUST_LAST_NAME CREDIT_LIMIT Credit Group
----------- -------------------- ------------ ------------
825 Dreyfuss 500 1
826 Barkin 500 1
827 Siegel 500 1
853 Palin 400 1
843 Oates 700 2
844 Julius 700 2
835 Eastwood 1200 3
836 Berenger 1200 3
837 Stanton 1200 3
840 Elliott 1400 3
841 Boyer 1400 3
842 Stern 1400 3
848 Olmos 1800 4
849 Kaurusmdki 1800 4
828 Minnelli 2300 5
829 Hunter 2300 5
850 Finney 2300 5
851 Brown 2300 5
852 Tanner 2300 5
830 Dutt 3500 7
831 Bel Geddes 3500 7
832 Spacek 3500 7
833 Moranis 3500 7
834 Idle 3500 7
838 Nicholson 3500 7
839 Johnson 3500 7
845 Fawcett 5000 11
846 Brando 5000 11
847 Streep 5000 11
출처: 오라클 레퍼런스
원문 링크: Oracle WIDTH_BUCKET 함수 문서
'코딩 > 오라클 함수' 카테고리의 다른 글
[오라클 레퍼런스 함수] XMLCAST - 지정한 스칼라 SQL 데이터 유형으로 변환 (0) | 2023.09.05 |
---|---|
[오라클 레퍼런스 함수] XMLAGG - XML 단편을 집계하여 반환 (0) | 2023.09.05 |
[오라클 레퍼런스 함수] VSIZE - 바이트 수 반환 (0) | 2023.09.05 |
[오라클 레퍼런스 함수] VARIANCE - 분산 반환 (0) | 2023.09.04 |
[오라클 레퍼런스 함수] VAR_SAMP - 숫자 집합의 표본 분산 반환 (0) | 2023.09.04 |
댓글