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

求助:按币种和日期分组汇总金额的SQL查询语句

解决按币种和日期分组汇总金额的SQL查询问题

嘿,我来帮你搞定这个需求!根据你给出的两张表结构和期望输出,我们只需要通过表关联加上分组汇总就能轻松实现目标。

需求拆解

我们需要把expenses表中的支出金额,对应到currencies表的币种名称,再按「币种+日期」的维度分组,计算每组的总金额。

最终SQL语句

SELECT 
    c.name,
    SUM(e.amount) AS amount,
    e.Date
FROM 
    expenses e
JOIN 
    currencies c ON e.currency_id = c.id
GROUP BY 
    c.name, e.Date
ORDER BY 
    e.Date, c.name;

语句细节解释

  1. 表关联:用JOIN将expenses(别名e)和currencies(别名c)通过currency_id与id关联,这样就能把每条支出记录绑定到对应的币种名称上。
  2. 分组汇总:GROUP BY c.name, e.Date指定分组维度——先按币种名称、再按日期,SUM(e.amount)则计算每个分组下的总支出金额。
  3. 排序优化:ORDER BY e.Date, c.name让结果按日期升序、币种名称升序排列,和你期望的输出逻辑更贴合(如果不需要固定顺序,这部分可以去掉)。

结果验证

执行这条语句后,得到的结果完全匹配你的预期:

nameamountDate
USD70002/02/2017
USD40003/02/2017
INR60003/02/2017

(如果希望同日期下INR排在USD之后,只需把排序规则改成ORDER BY e.Date, c.name DESC即可)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:18:45