我正在尝试填写缺失日期的每日数据,但找不到答案,请帮忙。
我的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 |
预期结果:我想用每个域和每天的数据填充这张表,这些数据只是从以前的数据中复制date
:
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 与 8-th 版本的 PostgreSql 一起工作,这就是为什么它不支持像这样漂亮的命令
JOIN LATERAL
- Redshift 也不支持
generate_series
和CTEs
- 但它支持简单
WITH
(谢谢@systemjack)但WITH RECURSIVE
不支持