Redshift:使用 DATE_TRUNC 生成重复行
Redshift: Using DATE_TRUNC makes duplicated rows
SELECT DATE_TRUNC('week', "date") as dates FROM dim_calendar dc WHERE "date" > '2019-01-01' AND "date" < CURRENT_DATE
正在创建重复项。
看到的结果示例:
A header
2019-01-07 00:00:00
2019-01-07 00:00:00
2019-01-07 00:00:00
2019-01-07 00:00:00
2019-01-07 00:00:00
2019-01-07 00:00:00
2019-01-07 00:00:00
2019-01-14 00:00:00
2019-01-14 00:00:00
2019-01-14 00:00:00
2019-01-14 00:00:00
2019-01-14 00:00:00
2019-01-14 00:00:00
2019-01-14
预期结果:
A header
2019-01-07 00:00:00
2019-01-14 00:00:00
我做错了什么?
可能你每周有好几次约会。您可以添加 DISTINCT
:
SELECT DISTINCT DATE_TRUNC('week', "date") as dates FROM dim_calendar dc WHERE "date" > '2019-01-01' AND "date" < CURRENT_DATE
SELECT DATE_TRUNC('week', "date") as dates FROM dim_calendar dc WHERE "date" > '2019-01-01' AND "date" < CURRENT_DATE
正在创建重复项。
看到的结果示例:
A header |
---|
2019-01-07 00:00:00 |
2019-01-07 00:00:00 |
2019-01-07 00:00:00 |
2019-01-07 00:00:00 |
2019-01-07 00:00:00 |
2019-01-07 00:00:00 |
2019-01-07 00:00:00 |
2019-01-14 00:00:00 |
2019-01-14 00:00:00 |
2019-01-14 00:00:00 |
2019-01-14 00:00:00 |
2019-01-14 00:00:00 |
2019-01-14 00:00:00 |
2019-01-14 |
预期结果:
A header |
---|
2019-01-07 00:00:00 |
2019-01-14 00:00:00 |
我做错了什么?
可能你每周有好几次约会。您可以添加 DISTINCT
:
SELECT DISTINCT DATE_TRUNC('week', "date") as dates FROM dim_calendar dc WHERE "date" > '2019-01-01' AND "date" < CURRENT_DATE