為了根據特定條件將表格中的一列透視成多列,SQL查詢可以使用CASE WHEN表達式。但是,在實作此方法時,由於缺少分組,使用者可能會遇到不正確的結果。
為了解決這個問題,下面提供了一個包含SUM()聚合函數和正確分組的修改後的查詢:
<code class="language-sql">SELECT name, SUM(CASE WHEN val = 1 THEN amount ELSE 0 END) AS amountVal1, SUM(CASE WHEN val = 2 THEN amount ELSE 0 END) AS amountVal2 FROM bank GROUP BY name</code>
此改進後的查詢將產生所需輸出:
name | amountVal1 | amountVal2 |
---|---|---|
John | 2000 | 1888 |
Peter | 1999 | 1854 |
以上是如何使用 CASE WHEN 和 GROUP BY 在 SQL 中正確透視列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!