如何在 Redshift 中结合演员表和日期最大值?
Posted
技术标签:
【中文标题】如何在 Redshift 中结合演员表和日期最大值?【英文标题】:How do I combine cast and date max in Redshift? 【发布时间】:2020-12-21 18:55:52 【问题描述】:“日期”采用时间戳格式,并且在我的事件表中具有相同事件 ID 的重复项
如果我正在执行获取 max(date) 以删除重复项的子查询,我是否也可以将此 max 转换为日期而不是时间戳并将其包装在 max 中?希望避免做不必要的子查询谢谢。
【问题讨论】:
请向我们展示您的实际代码。样本数据和期望的结果也可能会有所帮助。 【参考方案1】:当然,在将聚合函数应用于列之前,您可以转换列(通过强制转换或任何您喜欢的方式)。我不确定您如何删除重复项。看看使用GROUP BY
的一些示例转换
with input (dt, v) AS (
SELECT '2020-12-20T12:00'::timestamp, 10 UNION ALL
SELECT '2020-12-20T13:00'::timestamp, 20 UNION ALL
SELECT '2020-12-20T14:00'::timestamp, 30
)
select
dt::date,
max(dt),
max(dt::date),
max(date_trunc('month', dt)),
max(last_day(dt)::timestamp),
avg(v),
count(*)
from input
group by 1
dt | max | max | max | max | avg | count |
---|---|---|---|---|---|---|
2020-12-20 | 2020-12-20 14:00:00.000000 | 2020-12-20 | 2020-12-01 00:00:00.000000 | 2020-12-31 00:00:00.000000 | 20 | 3 |
【讨论】:
以上是关于如何在 Redshift 中结合演员表和日期最大值?的主要内容,如果未能解决你的问题,请参考以下文章