唯一ID的总和值,按日期分组,缺少值

时间:2019-11-30 17:55:27

标签: mysql

我想用x轴上的日期和y轴上val的总和来绘制数据图。我的数据在每个日期都没有所有ID的val,我不想忽略这一点,因为该图不具有代表性。我宁愿使用给定日期之前最新记录的val。 例如,所需的输出:

date                   SUM(VAL)
2019-11-29 00:46      36 422
2019-11-29 23:46      35 300
2019-11-29 22:56      35 211

因此,正如您在我的示例中看到的那样,2019-11-29 23:46中缺少989690,因此日期的SUM(VAL)将使用该ID的最新记录实例(该值小于2019 -11-29 23:46),在这种情况下是从2019-11-29 22:46开始。

更新: 我使用此语句在一个特定的日期达到这一目的:

SELECT SUM(val) FROM (SELECT id, val, MAX(date) FROM data GROUP BY id) as T

选择语句:SELECT id, val, date FROM data

Id val date
2019-11-29 00:46 440900 28155
2019-11-29 00:46 1066190 55
2019-11-29 00:46 760060 7063
2019-11-29 00:46 1012840 598
2019-11-29 00:46 1147100 64
2019-11-29 00:46 1088000 103
2019-11-29 00:46 989690 631
2019-11-29 00:46 1134010 31
2019-11-29 00:46 440900 28152
2019-11-28 23:46 1066190 55
2019-11-28 23:46 760060 7062
2019-11-28 23:46 1012840 598
2019-11-28 23:46 1088000 103
2019-11-28 23:46 1134010 31
2019-11-28 23:46 1147100 64
2019-11-28 23:46 440900 28151
2019-11-28 22:46 1066190 55
2019-11-28 22:46 760060 7059
2019-11-28 22:46 1012840 598
2019-11-28 22:46 1088000 103
2019-11-28 22:46 1147100 64
2019-11-28 22:46 1134010 31
2019-11-28 22:46 989690 631
2019-11-28 22:46 440900 28151
2019-11-28 21:46 1066190 55
2019-11-28 21:46 760060 7054
2019-11-28 21:46 1012840 597
2019-11-28 21:46 1147100 64
2019-11-28 21:46 1088000 103
2019-11-28 21:46 1134010 31
2019-11-28 21:46 989690 630
2019-11-28 21:46 440900 28146
2019-11-28 20:46 1066190 55
2019-11-28 20:46 760060 7050
2019-11-28 20:46 1012840 595
2019-11-28 20:46 1147100 64
2019-11-28 20:46 989690 629
2019-11-28 20:46 1088000 103
2019-11-28 20:46 1134010 31
2019-11-28 20:46 440900 28144
2019-11-28 19:46 1066190 55
2019-11-28 19:46 760060 7044
2019-11-28 19:46 1012840 595
2019-11-28 19:46 1147100 64
2019-11-28 19:46 1088000 103
2019-11-28 19:46 1134010 31
2019-11-28 19:46 440900 28142
2019-11-28 18:46 760060 7044
2019-11-28 18:46 1066190 55
2019-11-28 18:46 1012840 595

Example data

0 个答案:

没有答案
相关问题