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

如何用SQL查询每个用户的总余额和首次交易日期

你需要的统计结果可以直接通过分组聚合查询实现,无需自定义函数,SQL语句如下:

SELECT 
    card_id,
    SUM(amount) AS 总金额,
    MIN(created_at) AS 首次交易日期
FROM Transactions
GROUP BY card_id
ORDER BY card_id

如果你确实需要只统计金额为负的交易,只需在FROM Transactions后添加WHERE amount < 0过滤条件即可。

你之前写的自定义函数存在多处问题:

  • 逻辑冗余,不需要先插入card_id再分两次更新字段,分组查询一次就能得到全部结果
  • SUM(MIN(AMOUNT))属于非法嵌套聚合,在绝大多数SQL方言中都会执行报错
  • 硬编码过滤了金额小于0的交易,和你描述的"统计所有交易总金额"的需求不匹配

使用你提供的测试数据执行上述查询,得到的结果如下:

card_id总金额首次交易日期
11300.002016-01-01
2400.002016-01-04
3800.002016-01-06

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 09:06:02