我试图在一个case语句中使用Max(date)汇总当天的数字,并使用-interval汇总前一天的数字。
select
product
, sum(
case
when date_started = max(date_started)
then volume
end
)
as "Current day's Volume"
, sum(
case
when date_started = max(date_started)
then revenue
end
)
as "Current day's Revenue"
, sum(
case
when date_started = (max(date_started) - interval '1 day' then volume end) as "Current day's Volume"
, sum(
case
when date_started = (max(date_started) - interval '1 day' then revenue end) as "Current day's Revenue"
from
[lifetime_data]
group by
1
这是在PostgreSQL上。它不起作用,对我来说也没有明显的错误。
答案 0 :(得分:0)
没有“明显”错误。您看起来不够近。您的第一个汇总是:
sum(case when date_started = max(date_started)
^ aggregation function ----^ nested aggregation function
then volume
end)
您具有嵌套的聚合功能。这是不允许的。
这回答了有关错误是什么的问题。
目前还不清楚您要完成什么。如果您需要帮助解决该查询,请提出一个 new 问题。提供示例数据,所需的结果以及您要实现的逻辑的说明。