Sql 我想加上最后30天的销售&;30至90天销售,重量(1.5)更大,持续30天销售

Sql 我想加上最后30天的销售&;30至90天销售,重量(1.5)更大,持续30天销售,sql,amazon-athena,presto,Sql,Amazon Athena,Presto,我想增加最后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) BET

我想增加最后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 ;
请注意,这是假定
销售\ u日期
不是将来