日期范围内的 SQL 计数总计

tyb*_*103 1 mysql sql sqlite postgresql

我有一个包含字段 VALUE(integer) 和 CREATED_AT(timestamp) 的 CHANGES 表。我想知道过去 30 天(不进行 30 次查询)的每一天分组的 VALUE 列的总数。

因此,如果昨天创建的记录的 VALUE 为 10、-7 和 12;我希望返回一个 CREATED_AT = 昨天和 TOTAL = 15 的记录。

有什么帮助吗?

pio*_*trm 5

SELECT date(created_at) as CREATED_AT, sum(value) as TOTAL
FROM changes
WHERE created_at >= curdate() - interval 30 day
GROUP BY date(created_at);
Run Code Online (Sandbox Code Playgroud)

  • 使用常量 CURRENT_DATE,这是 SQL 标准并适用于许多数据库。函数 curdate() 仅适用于 MySQL。 (2认同)