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

SQLite按年月分组统计quantidade求和问题求助

SQLite按年月分组求和问题排查与解决

问题说明

需要对stock_tracking_Negociacao表中mercado = 'Futuro'的数据,按「年/月」(例如:2022/08)分组,统计每组quantidade字段的总和。

当前使用的SQL代码

SELECT 
        data, SUM(quantidade) AS sum
        
        FROM stock_tracking_Negociacao
        WHERE mercado = 'Futuro'
        GROUP BY strftime('%Y', data), strftime('%m', data)

问题分析

这段SQL存在两个核心问题:

  1. SELECT子句与GROUP BY不匹配:SELECT中返回的data是具体日期字段,既不属于聚合函数也未出现在GROUP BY中,执行时会返回分组内任意一条记录的日期,而非我们需要的年月格式。
  2. 分组结果无明确年月标识:GROUP BY按年和月分开分组,但SELECT未输出对应的年月组合,无法直接得到「年/月」格式的分组标签。

修正后的SQL代码

写法一(使用别名分组)

SELECT 
    strftime('%Y/%m', data) AS year_month,
    SUM(quantidade) AS sum_quantidade
FROM stock_tracking_Negociacao
WHERE mercado = 'Futuro'
GROUP BY year_month
ORDER BY year_month

写法二(直接使用表达式分组)

SELECT 
    strftime('%Y/%m', data) AS year_month,
    SUM(quantidade) AS sum_quantidade
FROM stock_tracking_Negociacao
WHERE mercado = 'Futuro'
GROUP BY strftime('%Y/%m', data)
ORDER BY year_month

代码说明

  • 用strftime('%Y/%m', data)将日期字段格式化为「年/月」字符串,同时作为分组依据和结果展示的分组标签
  • SUM(quantidade)计算每组的quantidade总和,命名为sum_quantidade让字段含义更清晰
  • 添加ORDER BY year_month确保结果按年月顺序排列,提升可读性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 06:54:22