在 MySQL 中使用 Case 語句壓縮資料
在處理儲存在關聯式資料庫中的資料時,操作是基於特定標準的欄位。這就是 CASE 語句發揮作用的地方,它提供了一種根據條件表達式動態為列分配值的方法,可讓您重組資料以增強分析和報告。
範例:產生條件列
假設您有一個名為「tbl_transaction」的資料庫表,其中包含 id、action_type、動作標題和動作金額。要產生兩個新欄位Income Amt 和Expense Amt,我們可以利用CASE 語句根據action_type 欄位有條件地填入它們:
SELECT id, action_heading, CASE WHEN action_type = 'Income' THEN action_amount ELSE NULL END AS income_amt, CASE WHEN action_type = 'Expense' THEN action_amount ELSE NULL END AS expense_amt FROM tbl_transaction;
此查詢將產生類似下列內容的輸出:
ID | Heading | Income Amt | Expense Amt |
---|---|---|---|
1 | ABC | 1000 | NULL |
2 | XYZ | NULL | 2000 |
如您所見,「收入金額」欄位填入了「收入交易」的值,而「支出金額」欄位填入了「支出」的值transactions.
替代語法
MySQL 也提供IF() 函數作為CASE 語句的替代函數來處理條件操作。但是,在這種情況下,CASE 語句更可取,因為它在各種資料庫引擎中更通用且可移植。
以上是如何使用CASE語句壓縮MySQL中的資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!