You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL条件求和问题:基于DatePaid统计当日收款总额

问题:基于DatePaid统计当日收款总额(MySQL条件求和)

先看一下你的交易数据表:

TransactionDatePriceDownPaymentStatusDatePaid
2018-01-0310001000PAID OFF2018-01-03
2018-01-031000500-5002018-01-03
2018-01-0110000PAID OFF2018-01-03

需求很明确:基于DatePaid字段统计2018-01-03的当日收款总额,预期结果是2500。这里的核心是根据每条记录的Status来判断当日实际收到的金额:

  • 当Status为PAID OFF时,不管交易是哪天发生的,当日结清意味着收到了全额Price;
  • 当Status不是PAID OFF时(比如第二条的部分付款),当日实际收到的是DownPayment金额。

对应的MySQL条件求和语句如下:

SELECT SUM(
    CASE
        WHEN Status = 'PAID OFF' THEN Price
        ELSE DownPayment
    END
) AS TotalCollected
FROM your_transaction_table -- 这里替换成你的实际表名
WHERE DatePaid = '2018-01-03';

语句解释:

  1. CASE表达式:精准匹配两种收款场景的计算规则,判断每条记录的实际收款金额;
  2. SUM()聚合函数:将所有符合日期条件的记录的收款金额累加;
  3. WHERE子句:过滤出DatePaid为目标日期的记录,确保只统计当日收款;
  4. AS TotalCollected:给求和结果起一个直观的别名,方便阅读输出。

验证结果:

代入你的3条数据计算:

  • 第一条:Status=PAID OFF,加Price=1000;
  • 第二条:Status≠PAID OFF,加DownPayment=500;
  • 第三条:Status=PAID OFF,加Price=1000;
    总和:1000+500+1000=2500,完全符合预期。

内容的提问来源于stack exchange,提问作者Ary Maulana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:02:34