Я пытаюсь заполнить ежедневные данные по пропущенным датам и не могу найти ответа, помогите пожалуйста.
Мой 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-й версией PostgreSql, поэтому не поддерживает такую красивую команду, как
JOIN LATERAL
- Redshift также не поддерживает
generate_series
иCTEs
- Но он поддерживает простой
WITH
(спасибо @systemjack), аWITH RECURSIVE
нет.