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

MySQL クエリを使用してピボット テーブル出力を生成するにはどうすればよいですか?

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

How to Generate a Pivot Table Output Using MySQL Queries?

mysqlのパースペクティブテーブル出力に戻る mysqlテーブルがあると仮定すると、組織の方法は次のとおりです。 さて、目標はmySQLクエリを実行してこれに類似した出力を生成することです。

本質的に、この出力は、各企業の名前の操作とページの組み合わせに基づいてデータを分類する視点テーブルを表しています。

公司名称 操作 页数
公司A 打印 3
公司A 打印 2
公司A 打印 3
公司B 邮件 NULL
公司B 打印 2
公司B 打印 2
公司B 打印 1
公司A 打印 3
solution

公司名称 邮件 打印1页 打印2页 打印3页
公司A 0 0 1 3
公司B 1 1 2 0
MySQLのPerspective Table出力を返すには、各セルの条件を定義し、

グループを使用して、会社名に従ってデータを分類するために

case

を使用できます。 以下は、提供されているSQLステートメントの例です。

このクエリは、出力に必要なパースペクティブ形式です。

重要な説明 より多くの操作/ページを備えたより大きなテーブルの場合、SQLステートメントには、より多くの

ケース

条件が必要になります。

<code class="language-sql">SELECT  P.`company_name`,
    COUNT(
        CASE 
            WHEN P.`action`='EMAIL' 
            THEN 1 
            ELSE NULL 
        END
    ) AS 'EMAIL',
    COUNT(
        CASE 
            WHEN P.`action`='PRINT' AND P.`pagecount` = '1' 
            THEN P.`pagecount` 
            ELSE NULL 
        END
    ) AS 'PRINT 1 pages',
    COUNT(
        CASE 
            WHEN P.`action`='PRINT' AND P.`pagecount` = '2' 
            THEN P.`pagecount` 
            ELSE NULL 
        END
    ) AS 'PRINT 2 pages',
    COUNT(
        CASE 
            WHEN P.`action`='PRINT' AND P.`pagecount` = '3' 
            THEN P.`pagecount` 
            ELSE NULL 
        END
    ) AS 'PRINT 3 pages'
FROM    test_pivot P
GROUP BY P.`company_name`;</code>
ログイン後にコピー
動的条件に適応するには、処理前のステートメントまたはルーチンを使用できます。

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

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