ホームページ >データベース >mysql チュートリアル >集計関数を使用せずに T-SQL データをピボットするにはどうすればよいですか?

集計関数を使用せずに T-SQL データをピボットするにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-20 10:01:08657ブラウズ

How Can I Pivot T-SQL Data Without Using Aggregation Functions?

T-SQL データ ピボット: 集計のないアプローチ

データ変換にはアンピボットが必要になることが多く、通常は集計関数を使用して実現されます。ただし、集計を行わずにピボットすることも可能です。

各行が顧客 (CustomerID、DBColumnName、および対応するデータを含む) を表すテーブルを考えてみましょう。 目標は、このデータをピボットし、各顧客のデータを DBColumnName に基づいて個別の列に整理することです。

<code class="language-sql">SELECT CustomerID,
       MIN(CASE WHEN DBColumnName = 'FirstName' THEN Data END) AS FirstName,
       MIN(CASE WHEN DBColumnName = 'MiddleName' THEN Data END) AS MiddleName,
       MIN(CASE WHEN DBColumnName = 'LastName' THEN Data END) AS LastName,
       MIN(CASE WHEN DBColumnName = 'Date' THEN Data END) AS Date
FROM table
GROUP BY CustomerID;</code>

この T-SQL クエリは、条件付きロジック (CASE ステートメント) を使用して、DBColumnName に基づいてデータを選択します。 MIN() 関数は、各顧客の列に対して 1 つの値のみが選択されるようにします。 これにより、従来の意味での集計を使用せずにデータが効果的にピボットされ、各顧客の属性が個別の列に編成されます。 この方法により、非数値データを扱う際の集計に関連する潜在的な問題が回避されます。

以上が集計関数を使用せずに T-SQL データをピボットするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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