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

SQL分组查询问题:按日期聚合多来源金额(含CAST与CASE)

修正SQL查询:按日期聚合不同来源的金额

原代码存在的问题:

  • CASE字段定义之间缺少逗号,触发语法错误
  • 未使用聚合函数SUM()汇总每日金额,仅返回单条记录的数值
  • GROUP BY错误包含Amount和Source,导致分组过细,无法实现按日期聚合
  • 未处理无对应来源时的NULL值,无法输出期望的0

修正后的SQL代码:

SELECT 
    CAST(Date AS DATE) AS NewDate,
    COALESCE(SUM(CASE WHEN Source = 'Source1' THEN Amount END), 0) AS Amount_Source1,
    COALESCE(SUM(CASE WHEN Source = 'Source2' THEN Amount END), 0) AS Amount_Source2
FROM 
    your_table_name  -- 替换为你的实际表名
GROUP BY 
    CAST(Date AS DATE)
ORDER BY 
    NewDate;

关键修正说明:

  1. 修复语法错误:在两个CASE语句之间添加逗号,确保字段定义合法
  2. 聚合金额求和:用SUM()包裹CASE表达式,实现每日同一来源的金额累加
  3. 调整分组逻辑:仅按日期分组,确保每日所有对应来源的记录被聚合计算
  4. 处理空值显示:COALESCE()将无对应来源时的NULL结果转换为0,匹配期望输出格式
  5. 排序结果:添加ORDER BY NewDate保证输出按日期顺序排列

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 15:31:15