首頁 > 資料庫 > mysql教程 > 如何使用SQL依預算ID和交易類型高效求和?

如何使用SQL依預算ID和交易類型高效求和?

Linda Hamilton
發布: 2025-01-21 12:43:11
原創
965 人瀏覽過

How to Efficiently Sum Points by Budget ID and Transaction Type Using SQL?

用於匯總交易資料的高效 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中文網其他相關文章!

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