首頁 > 資料庫 > mysql教程 > 如何建立 MySQL 交叉表查詢以將資料從行轉換為列?

如何建立 MySQL 交叉表查詢以將資料從行轉換為列?

Barbara Streisand
發布: 2025-01-06 10:42:42
原創
717 人瀏覽過

How to Create a MySQL Crosstab Query to Pivot Data from Rows to Columns?

MySQL 資料透視/交叉表查詢:轉換資料以增強顯示

MySQL 中的交叉表或資料透視查詢可讓您將資料(通常從面向行的結構)轉換為面向專欄的,有利於更輕鬆的分析和演示。要了解如何使用交叉表查詢,讓我們深入研究一個實際範例。

範例:將資料轉換為面向列的格式

考慮具有以下結構的表:

app_id  transaction_id  mobile_no  node_id  customer_attribute  entered_value
100     111             9999999999  1        Q1                  2
100     111             9999999999  2        Q2                  1
100     111             9999999999  3        Q3                  4
100     111             9999999999  4        Q4                  3
100     111             9999999999  5        Q5                  2
100     222             8888888888  4        Q4                  1
100     222             8888888888  3        Q3                  2
100     222             8888888888  2        Q2                  1
100     222             8888888888  1        Q1                  3
100     222             8888888888  5        Q5                  4
登入後複製

您想要在下面顯示這些記錄格式:

app_id  transaction_id  mobile     Q1  Q2  Q3  Q4 | Q5
100    111             9999999999   2   1   4  3  2
100    222             8888888888   3   1   2  1  4
登入後複製

要實現此目的,您可以使用交叉表查詢。但是,在最初的嘗試中,您為每個資料點檢索了多行,這不是所需的結果。

更正的交叉表查詢

以下調整後的查詢將提供所需的結果:

SELECT app_id, transaction_id, mobile_no,
  MAX(CASE WHEN node_id = 1 THEN entered_value END) AS Q1,
  MAX(CASE WHEN node_id = 2 THEN entered_value END) AS Q2,
  MAX(CASE WHEN node_id = 3 THEN entered_value END) AS Q3,
  MAX(CASE WHEN node_id = 4 THEN entered_value END) AS Q4,
  MAX(CASE WHEN node_id = 5 THEN entered_value END) AS Q5
FROM trn_user_log
GROUP BY app_id, transaction_id, mobile_no
登入後複製

使用客戶屬性作為列標題

您也表達了使用來自customer_attribute 列作為列標題。雖然 NAME_CONST 函數不適合此目的,但您可以利用可能實現所需結果的技術。但是,請進一步說明您想要的結果,以便獲得精確的解決方案。

以上是如何建立 MySQL 交叉表查詢以將資料從行轉換為列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板