mysql - 天数累计

标签 mysql aggregate-functions

我有一个如下所示的 MySQL 表:

date         count
2010-01-01   5
2010-01-02   6
2010-01-03   7

如何将每一天的总和累加到下一天?所以结果是这样的:

date         acum per day
2010-01-01   5
2010-01-02   11
2010-01-03   18

我想我需要某种 for(each date)... 但没有线索。


这只是我在 Eric 的回答之后使用的最后一个查询。 (谢谢)。

从 SELECT t1.dia, sum(t2.operacions), sum(t2.amount)

(SELECT count(*) operations, sum(amount), date(b.timestamp) dia
    FROM transactions b group by date(b.timestamp)) t1 

INNER JOIN 

(SELECT count(*) operations, sum(amount), date(b.timestamp) dia
    FROM transactions b group by date(b.timestamp)) t2 

ON t2.dia <= t1.dia GROUP BY t1.dia

最佳答案

嗯,我认为这可行,但不确定性能如何:

SELECT t1.date, sum(t2.count)
FROM mytable t1 INNER JOIN mytable t2 ON t2.date <= t1.date
GROUP BY t1.date

关于mysql - 天数累计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3095135/

相关文章:

mysql - 如何选择日期最接近的不为空的分数

mysql - 具有两个连接的 SQL 查询 COUNT

基于聚合函数的SQL返回

sql - 计算Postgresql中的累计总数

mysql 查询 : How can I group by only cpm. ad_id 并拥有所有 cc 的总和?

PHP:输入 MySQL 查询

java - 如何从托管在 Azure VM 上的 MYSQL 数据库中检索数据?

mysql - SQL 查询多列 DISTINCT 在一列上

GROUP_CONCAT 中的 MySQL COUNT

mysql - SQL - 使用非聚合表连接聚合表