將MySQL 資料透視表列資料顯示為行
將表格的資料列資料轉換為行可能是一項具有挑戰性的任務,尤其是對於多維資料集。在 MySQL 中,此操作通常稱為「透視」。
問題:
提供的資料集由三個表格組成:
目標是重組資料以將問題答案顯示為每個結果的列set.
解決方案:
要實現此目的,我們可以利用MySQL 查詢,該查詢將MAX() 聚合函數與CASE 語句結合使用。下面的查詢有效地將列資料轉換為行:
解釋:
此查詢產生以下輸出:
result_id | user_id | job_id | Is it this? | Or this? | Or that? |
---|---|---|---|---|---|
1 | 1 | 1 | Yes | No | Maybe |
2 | 1 | 3 | Maybe | No | Maybe |
3 | 2 | 3 | Yes | Yes | No |
動態版本:
如果您有未知數量的問題(例如,1000 ),動態版本的查詢較為合適。這可以使用動態 SQL 和變數串聯來實現:
此動態查詢使用變數串聯根據 Question 表的內容動態建立 SQL 語句。結果是一個更靈活的查詢,可以處理任意數量的問題。
以上是如何使用 MAX() 和 CASE 語句將 MySQL 列資料轉換成行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!