ホームページ > データベース > mysql チュートリアル > SQLを使用してMySQLにピボットテーブルのような出力を作成するにはどうすればよいですか?

SQLを使用してMySQLにピボットテーブルのような出力を作成するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2025-01-25 20:42:09
オリジナル
581 人が閲覧しました

How can I create a pivot table-like output in MySQL using SQL?

mysqlでピボットテーブルのような結果を生成する

ピボットテーブルの理解ピボットテーブルは、データを要約レポートに変換します。 行はカテゴリ(ここでは会社名)を表し、列は分析されるメトリックを表します(アクションとページ数)。

sqlソリューション:でケースとグループを使用します

最も簡単なアプローチでは、会社名でグループ化された

集約関数内の

ステートメントを使用します。 クエリの例は次のとおりです

クエリの説明:

CASE COUNT

ステートメントは、特定のアクションとページ数の発生を条件付けてカウントします。
<code class="language-sql">SELECT
    P.company_name,
    COUNT(CASE WHEN P.action = 'EMAIL' THEN 1 END) AS EMAIL,
    COUNT(CASE WHEN P.action = 'PRINT' AND P.pagecount = 1 THEN 1 END) AS 'PRINT 1 pages',
    COUNT(CASE WHEN P.action = 'PRINT' AND P.pagecount = 2 THEN 1 END) AS 'PRINT 2 pages',
    COUNT(CASE WHEN P.action = 'PRINT' AND P.pagecount = 3 THEN 1 END) AS 'PRINT 3 pages'
FROM
    P
GROUP BY
    P.company_name;</code>
ログイン後にコピー

各条件の結果を集約します。

結果を
    でグループ化し、ピボットテーブル構造を生成します。
  • CASE
  • 制限と代替案:COUNT
  • この方法では、各条件を手動で定義する必要があり、多くのアクションまたはページカウントに対して面倒にします。 準備されたステートメントやストアドプロシージャなどのより高度な手法は、より大きなデータセットのより良いスケーラビリティを提供します。 GROUP BYcompany_nameさらなる読み取り:

mysqlのより洗練されたピボットテーブルソリューションについては、これらのリソースを探索してください。

mysql pivotテーブルチュートリアル

mysqlのピボットテーブル

ピボットテーブル

以上がSQLを使用してMySQLにピボットテーブルのような出力を作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート