我想添加最近 30 天的销售和 30 到 90 天的销售,并增加权重 (1.5) 到最近 30 天的销售
I want to add last 30 days sale & 30to 90 days sale with more weightage (1.5) to last 30 day sale
我想将最近 30 天的销售和 30 到 90 天的销售添加到最近 30 天的销售中,并增加权重 (1.5)。
SELECT userid, SUM(premiumdetails_netpremium)
from policydetail,
(SELECT userid AS partner_id, SUM(premiumdetails_netpremium) AS last30sale
FROM policydetail AS pd
WHERE DATE(sales_date) BETWEEN current_date - interval '30' day AND current_date
group by userid
) AS A
WHERE DATE(sales_date) BETWEEN current_date - interval '90' day AND current_date
group by userid
我想你想要条件聚合:
SELECT userid,
SUM(CASE WHEN sales_date >= current_date - interval '30 day THEN 1.5 * premiumdetails_netpremium
ELSE premiumdetails_netpremium
END) as weighted_sum
FROM policydetail
WHERE sales_date >= current_date - interval '90' day
GROUP BY userid ;
请注意,这假设 sales_date
不在未来。
我想将最近 30 天的销售和 30 到 90 天的销售添加到最近 30 天的销售中,并增加权重 (1.5)。
SELECT userid, SUM(premiumdetails_netpremium)
from policydetail,
(SELECT userid AS partner_id, SUM(premiumdetails_netpremium) AS last30sale
FROM policydetail AS pd
WHERE DATE(sales_date) BETWEEN current_date - interval '30' day AND current_date
group by userid
) AS A
WHERE DATE(sales_date) BETWEEN current_date - interval '90' day AND current_date
group by userid
我想你想要条件聚合:
SELECT userid,
SUM(CASE WHEN sales_date >= current_date - interval '30 day THEN 1.5 * premiumdetails_netpremium
ELSE premiumdetails_netpremium
END) as weighted_sum
FROM policydetail
WHERE sales_date >= current_date - interval '90' day
GROUP BY userid ;
请注意,这假设 sales_date
不在未来。