Что такое PIVOT в T-SQL: подробное объяснение и примеры

При использовании языка T-SQL, оператор PIVOT используется для перестановки строк данных в столбцы и агрегирования значений во время этого процесса.

Вот пример использования оператора PIVOT:


SELECT *
FROM (
    SELECT Product, Category, Sales
    FROM SalesData
) AS SourceTable
PIVOT (
    SUM(Sales)
    FOR Category IN ([Electronics], [Clothing], [Furniture])
) AS PivotTable;
    

Детальный ответ

Что такое PIVOT в T-SQL?

В T-SQL команда PIVOT используется для преобразования строковых данных в столбцы. Она позволяет перестроить структуру таблицы, создавая новые столбцы на основе данных, содержащихся в определенных столбцах и строках.

Когда мы используем команду PIVOT, мы указываем столбец с данными, которые мы хотим преобразовать в новые столбцы, и столбец, значения которого будут столбцами новой таблицы. Например, если у нас есть таблица, содержащая информацию о продажах товаров, и мы хотим создать отчет, показывающий суммарные продажи каждого товара по месяцам, мы можем использовать команду PIVOT для перестроения данных.


SELECT *
FROM SalesData
PIVOT
(
    SUM(SalesAmount)
    FOR Month IN ([January], [February], [March], [April], [May])
) AS PivotTable;
    

В этом примере у нас есть таблица SalesData, содержащая столбцы Product, Month и SalesAmount. Мы хотим создать отчет, показывающий суммарные продажи каждого товара по месяцам.

Команда PIVOT начинается с ключевого слова PIVOT, за которым следует агрегатная функция, которую мы хотим применить к значениям столбца, и ключевое слово FOR, за которым указываются значения, которые будут столбцами новой таблицы.

В примере мы используем функцию SUM(SalesAmount), чтобы суммировать значения столбца SalesAmount для каждого товара по месяцам. Значения, указанные после ключевого слова FOR ([January], [February], [March], [April], [May]), будут столбцами новой таблицы, содержащей суммарные продажи.

Результатом выполнения команды PIVOT будет новая таблица PivotTable с добавленными столбцами, соответствующими значениям после ключевого слова FOR. В новой таблице каждая строка будет соответствовать уникальному значению из столбца, указанного перед ключевым словом PIVOT.

Использование команды PIVOT может значительно упростить создание отчетов и аналитику на основе существующих данных в таблицах.

Подводя итог

Команда PIVOT в T-SQL позволяет преобразовывать строковые данные в столбцы, создавая новые столбцы на основе данных из определенных столбцов и строк. Она позволяет перестроить структуру таблицы и создать отчеты, аналитику и сводные таблицы на основе существующих данных. Использование команды PIVOT может значительно упростить анализ данных и предоставить более удобный способ просмотра информации.

Видео по теме

Операторы PIVOT и UNPIVOT языка T-SQL - видеокурс «T-SQL. Уровень 3 - Эксперт» - пример видеоурока

MS SQL Server. Работа с несколькими таблицами. 10. Оператор Pivot

PIVOT - Разворачиваем строки в столбцы в языке запросов Transact-SQL

Похожие статьи:

Что такое сложный SQL запрос и как его написать с помощью полезных советов

Что такое язык SQL и зачем он нужен для баз данных и веб-разработки?

Что хранится в SQL базе данных: основная информация о типах данных и структуре

Что такое PIVOT в T-SQL: подробное объяснение и примеры

Что такое хинты в SQL и как они помогают оптимизировать запросы

🔑 Что такое уникальный ключ в SQL? Гайд для начинающих по базам данных 🗂️

🔍 Что такое таблица в SQL: подробное описание и примеры использования