Pivot Oracle: Unlocking the Power of Data Pivoting in Oracle
Pivot в Oracle - это операция, которая преобразует строки в столбцы, основываясь на значениях в другом столбце. Он позволяет агрегировать данные по группам и перестраивать их, чтобы строковые значения вместо столбцов стали заголовками столбцов.
Пример:
Предположим, у нас есть таблица "sales", которая содержит информацию о продажах различных товаров по годам:
| Product | Year | Amount |
|----------|------|--------|
| Product1 | 2019 | 100 |
| Product1 | 2020 | 200 |
| Product2 | 2019 | 150 |
| Product2 | 2020 | 250 |
Мы хотим сгруппировать данные по годам и сделать годы заголовками столбцов:
| Product | 2019 | 2020 |
|----------|------|------|
| Product1 | 100 | 200 |
| Product2 | 150 | 250 |
Мы можем использовать операцию PIVOT для достижения этого результата.
Пример кода:
SELECT *
FROM sales
PIVOT
(
SUM(Amount)
FOR Year IN (2019, 2020)
)
ORDER BY Product;
В этом примере мы используем операцию PIVOT для агрегирования и переключения строковых значений из столбца "Year" в заголовки столбцов. Мы также используем функцию SUM, чтобы просуммировать значения столбца "Amount" для каждого товара по годам.
Операция PIVOT работает следующим образом: мы указываем столбец, который мы хотим агрегировать (Amount), а также столбец, который мы хотим включить в заголовки столбцов (Year). В выражении IN мы указываем значения, которые должны стать заголовками столбцов (2019 и 2020).
Таким образом, операция PIVOT позволяет нам реорганизовать данные и получить более удобную и понятную таблицу для анализа и отчетности. Это очень полезный инструмент в Oracle для работы с агрегированными данными.