用於匯總交易資料的高效 SQL 查詢
基於多個條件擷取資料是資料庫管理中的常見任務。 想像一個包含 account_id、budget_id、積分和交易類型(分配或發行)的「交易」表。 挑戰在於有效計算每個預算 ID 的總分,按分配和問題類型分開。
簡潔的SQL查詢可以優雅地解決這個問題:
<code class="language-sql">SELECT budget_id, SUM(CASE WHEN type = 'allocation' THEN points ELSE 0 END) AS allocated, SUM(CASE WHEN type = 'issue' THEN points ELSE 0 END) AS issued FROM transactions GROUP BY budget_id;</code>
此查詢利用 CASE
函數中的 SUM()
語句。 CASE WHEN type = 'allocation' THEN points ELSE 0 END
表達式檢查交易類型。如果是“分配”,則將對應的points
值相加;否則加0。 對於「問題」類型的交易,會重複此條件求和。
依 budget_id
將結果分組可提供顯示每個預算的分配和發放積分的摘要。輸出清晰地呈現了交易資料的綜合視圖,以便於分析和報告。
以上是如何使用SQL依預算ID和交易類型高效求和?的詳細內容。更多資訊請關注PHP中文網其他相關文章!