【发布时间】:2017-12-06 08:52:32
【问题描述】:
假设我有以下数据集。
+--------------------+
| item_id count date |
+--------------------+
| 000 10 2017-11-01 |
| 001 15 2017-11-01 |
| 002 2 2017-11-01 |
| 003 100 2017-11-01 |
| 000 20 2017-11-02 |
| 001 20 2017-11-02 |
| 002 22 2017-11-02 |
| 003 101 2017-11-02 |
| 000 30 2017-11-03 |
| 001 25 2017-11-03 |
| 002 42 2017-11-03 |
| 003 102 2017-11-03 |
| 000 40 2017-11-04 |
| 001 30 2017-11-04 |
| 002 62 2017-11-04 |
| 003 103 2017-11-04 |
+--------------------+
有没有什么方法可以获取两个任意日期之间每一天的累积计数和差异计数?
(对于 diff 计数,如果选择的日期是 2017-11-01 和 2017-11-04,则第一个 diff count(2017-11-01) 不必包含在最终 SQL 结果中,因为没有该日期之前的可用数据)
以下两个表是预期的 SQL 结果。
累计次数
+--------------------+
| item_id count date |
+--------------------+
| 000 10 2017-11-01 |
| 000 30 2017-11-02 |
| 000 60 2017-11-03 |
| 000 100 2017-11-03 |
| 001 15 2017-11-01 |
| 001 35 2017-11-02 |
| 001 60 2017-11-03 |
| 001 90 2017-11-04 |
| 002 2 2017-11-01 |
| 002 24 2017-11-02 |
| 002 66 2017-11-03 |
| 002 128 2017-11-04 |
| 003 100 2017-11-01 |
| 003 201 2017-11-02 |
| 003 303 2017-11-03 |
| 003 406 2017-11-04 |
+--------------------+
差异计数
+--------------------+
| item_id count date |
+--------------------+
| 000 10 2017-11-02 |
| 000 10 2017-11-03 |
| 000 10 2017-11-04 |
| 001 5 2017-11-02 |
| 001 5 2017-11-03 |
| 001 5 2017-11-04 |
| 002 20 2017-11-02 |
| 002 20 2017-11-03 |
| 002 20 2017-11-04 |
| 003 1 2017-11-02 |
| 003 1 2017-11-03 |
| 003 1 2017-11-04 |
+--------------------+
【问题讨论】: