首页 > 数据库 > 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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板