我想添加最近30天的销售和30到90天的销售,更多的重量(1.5)到最近30天的销售

问题描述 投票:1回答:1

我想添加最近30天的销售和30到90天的销售,更多的重量(1.5)到最近30天的销售。

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 
sql amazon-athena presto
1个回答
1
投票

我想你想要条件聚合:

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

© www.soinside.com 2019 - 2024. All rights reserved.