我想用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