我正在尝试填补每日数据中缺失的日期,但找不到答案,请帮忙。
我的daily_table
示例:
url | timestamp_gmt | visitors | hits | other..
-------------------+---------------+----------+-------+-------
www.domain.com/1 | 2016-04-12 | 1231 | 23423 |
www.domain.com/1 | 2016-04-13 | 1374 | 26482 |
www.domain.com/1 | 2016-04-17 | 1262 | 21493 |
www.domain.com/2 | 2016-05-09 | 2345 | 35471 |
期望结果:我希望能够为每个域和每天填充此表格的数据,这些数据只需从前一个日期
复制即可:
url | timestamp_gmt | visitors | hits | other..
-------------------+---------------+----------+-------+-------
www.domain.com/1 | 2016-04-12 | 1231 | 23423 |
www.domain.com/1 | 2016-04-13 | 1374 | 26482 |
www.domain.com/1 | 2016-04-14 | 1374 | 26482 | <-added
www.domain.com/1 | 2016-04-15 | 1374 | 26482 | <-added
www.domain.com/1 | 2016-04-16 | 1374 | 26482 | <-added
www.domain.com/1 | 2016-04-17 | 1262 | 21493 |
www.domain.com/2 | 2016-05-09 | 2345 | 35471 |
我可以把一部分逻辑移到PHP中,但这并不理想,因为我的表中有数十亿个缺失的日期。
摘要:
在过去几天里,我发现:
- Amazon Redshift使用PostgreSql的第8个版本,因此不支持如
JOIN LATERAL
这样漂亮的命令 - Redshift也不支持
generate_series
和CTEs
- 但它支持简单的
WITH
(感谢@systemjack),但不支持WITH RECURSIVE