Pivot SQL - простой способ проводить анализ данных в SQL
Pivot в SQL – это операция трансформации таблицы, с помощью которой строки основной таблицы преобразуются в столбцы новой таблицы, а значения столбцов основной таблицы становятся значениями ячеек новой таблицы. Это позволяет сделать данные более читаемыми и понятными для бизнес-аналитиков и других пользователей.
Рассмотрим простой пример, как использовать операцию Pivot в SQL. Пусть у нас есть таблица с информацией о продажах товаров по месяцам:
| Товар | Январь | Февраль | Март |
|-------|--------|---------|------|
| Товар 1| 10 | 12 | 20 |
| Товар 2| 15 | 18 | 25 |
| Товар 3| 20 | 22 | 30 |
Мы хотим преобразовать эту таблицу, чтобы данные были более понятными. Для этого мы можем использовать операцию Pivot. Например, мы можем преобразовать таблицу таким образом, чтобы ее столбцы содержали информацию об отдельных месяцах, а строки – о продажах каждого товара. В этом случае наша таблица будет выглядеть так:
| Товар | Январь | Февраль | Март |
|--------|------|-------|------|
| Товар 1 | 10 | 12| 20|
| Товар 2 | 15 | 18| 25|
| Товар 3 | 20 | 22| 30|
Для этого мы можем использовать оператор Pivot в SQL. Вот как это будет выглядеть:
SELECT *
FROM (
SELECT Товар, Месяц, Отчет
FROM Продажи
) AS SourceTable
PIVOT(
SUM(Отчет)
FOR Месяц IN ([Январь], [Февраль], [Март])
) AS PivotTable;
В этом примере мы используем следующие операторы:
- SELECT: выбираем данные из таблицы Продажи
- AS: задаем псевдонимы для таблицы SourceTable и PivotTable
- PIVOT: задаем операцию Pivot с помощью функции SUM(), и указываем, какие столбцы следует использовать в новой таблице. В данном случае мы используем столбцы [Январь], [Февраль], [Март], которые в итоге станут столбцами новой таблицы
В результате выполнения этого запроса мы получим новую таблицу, содержащую данные о продажах каждого товара по месяцам. Таким образом, мы можем легко анализировать информацию и выявлять тенденции в продажах различных товаров.