Что такое 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 может значительно упростить анализ данных и предоставить более удобный способ просмотра информации.