MySQL-获取多个条目的累积和
我有一张像这样的桌子。对于某些日期,会为标签添加或删除特定值MySQL-获取多个条目的累积和,mysql,sql,cumulative-sum,Mysql,Sql,Cumulative Sum,我有一张像这样的桌子。对于某些日期,会为标签添加或删除特定值 EntryDate Label Value 2017-05-01 A 10 2017-05-03 B 10 2017-05-05 A 10 2017-05-05 B 10 我需要得到一个输出,显示我每天的累计值总和,而不考虑标签。结果如下: EntryDate ValueSum 2017-05-01 10 2017-05-02 10 2017-05-03
EntryDate Label Value
2017-05-01 A 10
2017-05-03 B 10
2017-05-05 A 10
2017-05-05 B 10
我需要得到一个输出,显示我每天的累计值总和,而不考虑标签。结果如下:
EntryDate ValueSum
2017-05-01 10
2017-05-02 10
2017-05-03 20
2017-05-04 20
2017-05-05 40
通过此查询,我可以获取特定日期的累计总和。我可以运行一个查询来获取cum吗。每个日期的金额
select EntryDate, sum(value) valueSum from Mytable group by Date
另外,如果我只想得到那些已经添加/删除值的日期的总和,我如何才能得到呢
EntryDate ValueSum
2017-05-01 10
2017-05-03 20
2017-05-05 40
谢谢。如果您省略WHERE子句或仅将其设置为WHERE true等,那么您已经提供的这个查询将为您提供每个日期的总和
SELECT `Date`, sum(Value) valueSum FROM `Mytable` GROUP BY `Date`
Date valueSum
2017-05-08 20
2017-05-10 20
2017-05-11 10
不幸的是,在没有更多数据信息的情况下,我无法计算出如何只得到经过修改的日期的总和。是否有另一个时间戳列可以检查以查看最近的内容?也许删除只是翻转一个软删除布尔值,可以检查它以查看删除了什么?您可以使用
select t.dt, (select sum(value)
from Mytable t1 where t1.dt <= t.dt )
from Mytable t
尽量避免使用列名称date,因为这是一个保留字,可能会导致问题。
此外,这仅打印出输入数据的行,您必须以编程方式填补空白。您选择的日期,Mytable group by Date的sumvalue valueSum似乎已经满足目标1。目标2需要更多关于如何表示已添加/删除的值的详细信息。否我的查询仅返回每个日期的值的总和,而不是累积值。我希望得到每个日期的累计金额。然后日期是一个日期时间而不是一个日期,您需要将其转换为一个日期。选择dateDate,按dateDate从Mytable组中选择sumvalue valueSum我不确定您的意思。我想用Date作为列名会让我有些困惑。我已经把它更新到登录日期。看看THES TRAD:我的查询结果是2017—05-01 - 10,2017—05-03 - 10,2017—05-05 - 20。让我们只考虑为简单而添加的值,假设没有删除值。