ホームページ > データベース > mysql チュートリアル > 集計と条件ステートメントを使用して MySQL 列データを行にピボットする方法?

集計と条件ステートメントを使用して MySQL 列データを行にピボットする方法?

Patricia Arquette
リリース: 2024-12-21 18:12:18
オリジナル
666 人が閲覧しました

How to Pivot MySQL Column Data into Rows Using Aggregation and Conditional Statements?

MySQL ピボット テーブルの列データを行として変換する

テーブルの列データを MySQL の行に効果的にピボットするには、集計関数の組み合わせを利用できます。そして条件付きステートメント。

クエリ:

SELECT
  a.ID,
  a.user_ID,
  a.job_id,
  MAX(CASE WHEN c.question = 'Is it this?' THEN b.answer END) 'Is it this?',
  MAX(CASE WHEN c.question = 'Or this?' THEN b.answer END) 'Or this?',
  MAX(CASE WHEN c.question = 'Or that? ' THEN b.answer END) 'Or that? '
FROM
  Results a
INNER JOIN
  Answers b ON a.id = b.fk_result_id
INNER JOIN
  Question c ON b.fk_question_id = c.ID
GROUP BY
  a.ID,
  a.user_ID,
  a.job_id;
ログイン後にコピー

説明:

  1. 結果、回答、質問を結合するtables.
  2. CASE ステートメントを使用して、各質問の条件が満たされているかどうかを評価し、返します。対応する回答。
  3. MAX() 関数を使用して各質問の最大回答を集計します。

追加のヒント:

  • 動的な数の質問がある場合は、利用可能な質問に基づいて動的 SQL クエリの使用を検討してください。
  • 使用実践的なデモンストレーションのために、回答に記載されている SQLFiddle デモ リンク。

以上が集計と条件ステートメントを使用して MySQL 列データを行にピボットする方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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