ホームページ >データベース >mysql チュートリアル >Pivotを使用してSQL Serverの列に行を変換する方法は?

Pivotを使用してSQL Serverの列に行を変換する方法は?

DDD
DDDオリジナル
2025-01-25 12:22:10285ブラウズ

How to Convert Rows to Columns in SQL Server Using PIVOT?

SQL Serverのピボット関数を使用してデータを再構築するSQL Serverの強力な機能は、行ベースの構造からカラムベースの構造にデータを変換するための合理化された方法を提供します。これは、より簡単に読みやすく、分析された表レポートの作成に特に役立ちます。 店舗番号、週番号、値があるテーブルを想像してください(と呼びましょう)。 目標は、このデータを再編成して、ストア番号が垂直にリストされている(行)と週数(列)にリストされることです。

静的ピボット(既知の週番号):PIVOT

必要な特定の週数を既に知っている場合は、簡単なxCountクエリを使用できます。

このクエリは、各ストアと週の

値を合計します。 句は、この例の週を指定します([1]、[2]、[3])。

ダイナミックピボット(未知の週番号):

PIVOT

週の数値が動的である場合(事前に知られていない)、より柔軟なアプローチが必要です。
<code class="language-sql">SELECT *
FROM (
  SELECT store, week, xCount
  FROM yt
) src
PIVOT (SUM(xcount) FOR week IN ([1], [2], [3])) piv;</code>

この動的クエリは、最初にxCountテーブルから一意の週番号のコンマ分離されたリストを構築します。 このリストは、IN関数を使用して目的の列ベースの出力を作成する大きなクエリに組み込まれます。その結果、列のような列としての数週間として店舗を示すピボットテーブルがあり、対応する

値があります。 この方法は、データに存在する任意の数週間に適応します。

以上がPivotを使用してSQL Serverの列に行を変換する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。