Описание
Функция Oracle WIDTH_BUCKET используется для получения номера сегмента, в который будет попадать значение этого выражения после вычисления.
В основном, WIDTH_BUCKET строит гистограммы с одинаковой шириной, где диапазон гистограммы делится на множество интервалов, имеющих уникальный размер. Сегмент может быть присвоен баллам от 10,00 до 19,999 … чтобы указать, что 10 включено в интервал, а 20 исключено. Иногда это обозначается (10, 20).
Синтаксис:
WIDTH_BUCKET (expr, min_value, max_value, num_buckets)
Аргументы:
Имя | Описание |
---|---|
expr | Выражение, для которого создается гистограмма. Выражение возвращает null, когда expr оценивается как null. |
min_value и max_value | Выражения, которые разрешаются до конечных точек приемлемый диапазон. Оба выражения также должны иметь числовые значения или значения даты и времени, и нулевое значение не может быть вычислено. |
num_buckets | Выражение, указывающее количество корзин. |
В приведенном ниже примере создается гистограмма с десятью сегментами. в столбце manager_id для сотрудников с идентификатором отдела 119 в таблице «Сотрудники» и возвращает номер сегмента («Существует в отделах») для каждого сотрудника. Сотрудникам, у которых manager_id больше максимального значения, назначается корзина переполнения, 11:
SELECT employee_id, first_name, last_name, department_id, manager_id, WIDTH_BUCKET (Department_id, 30,100,10) "Существует в отделах" ОТ сотрудников WHERE manager_id
Вот результат.
EMPLOYEE_ID FIRST_NAME LAST_NAME DEPARTMENT_ID MANAGER_ID существует в отделах ----------- -------------------- - ----------------------- ------------- ---------- ---- ----------------- 200 Дженнифер Уэлен 10 101 0 201 Майкл Хартштейн 20 100 0 118 Гай Химуро 30 114 1 119 Карен Кольменарес 30 114 1 117 Сигал Тобиас 30 114 1 116 Шелли Байда 30 114 1 115 Александр Кху 30 114 1 114 Ден Рафаэли 30 100 1 203 Сьюзан Маврис 40 101 2 120 Мэтью Вайс 50 100 3 121 Адам Фрипп 50 100 3 122 Пайам Кауфлинг 50 100 3 123 Шанта Воллман 50 100 3 124 Кевин Мургос 50 100 3 104 Брюс Эрнст 60 103 5 105 Дэвид Остин 60 103 5 106 Валли Патабалла 60 103 5 107 Диана Лоренц 60 103 5 103 Александр Хунольд 60 102 5 204 Герман Баер 70 101 6 147 Альберто Эрразурис 80 100 8 149 Элени Злотки 80 100 8 148 Джеральд Камбро 80100 8 146 Карен Па rtners 80100 8145 Джон Рассел 80100 8102 Лекс Де Хаан 90100 9101 Нина Кочхар 90100 9112 Хосе Мануэль Урман 100108 11109 Дэниел Фэвиет 100108 11 110 Джон Чен 100108 11111 Исмаэль Скиарра 100108 11205 Шелли Хиггинс 110 101 11 113 Луис Попп 100 108 11 108 Нэнси Гринберг 100 101 1134 строки выбраны.