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

基于月份关联SQL表并汇总usage字段的实现需求

实现按年月分组汇总两表usage字段的SQL方案

核心思路

先通过UNION ALL(需去重则用UNION)合并两张表的目标字段,提取年份、月份后分组求和,以下是适配不同场景的SQL示例:

场景1:日期字段为标准日期类型

假设两张表均包含date_col(标准日期/时间字段)和usage字段:

SELECT
    EXTRACT(YEAR FROM date_col) AS year,
    EXTRACT(MONTH FROM date_col) AS month,
    SUM(usage) AS total_usage
FROM (
    SELECT date_col, usage FROM table1
    UNION ALL
    SELECT date_col, usage FROM table2
) AS combined_data
GROUP BY year, month
ORDER BY year, month;

注:不同数据库的日期提取函数略有差异,比如MySQL可直接用YEAR(date_col)、MONTH(date_col)替代EXTRACT,按需调整即可。

场景2:日期字段为字符串格式(如'2023-10')

若日期是字符串类型,直接截取年月部分即可:

SELECT
    SUBSTRING(date_str, 1, 4) AS year,
    SUBSTRING(date_str, 6, 2) AS month,
    SUM(usage) AS total_usage
FROM (
    SELECT date_str, usage FROM table1
    UNION ALL
    SELECT date_str, usage FROM table2
) AS combined_data
GROUP BY year, month
ORDER BY year, month;

关键说明

  • UNION ALL会保留所有行,性能优于UNION;若两张表存在重复数据需去重,替换为UNION即可。
  • 最终结果会按年份、月份升序排列,方便查看时序数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 23:45:35