xsdm dwd dws

INSERT INTO TABLE province_consumption_day_aggr;
SELECT   
  province_id,   
  province_name,   
  region_id,   
  region_name,   
  SUM(total_amount) AS total_amount,   
  COUNT(*) AS total_count,   
  ROW_NUMBER() OVER (PARTITION BY province_id, year, month ORDER BY SUM(total_amount) DESC) AS sequence  
FROM dwd_table  
GROUP BY province_id, province_name, region_id, region_name, year, month;
SELECT   
  province_id,   
  province_name,   
  region_id,   
  region_name,   
  SUM(CAST(total_amount AS BIGINT)) AS total_amount,   
  COUNT(*) AS total_count  
FROM province_consumption_day_aggr  
WHERE year = YEAR(CURRENT_DATE()) AND month = MONTH(CURRENT_DATE())  
GROUP BY province_id, province_name, region_id, region_name  
ORDER BY total_count DESC, total_amount DESC, province_id DESC  
LIMIT 5;
SELECT   
  province_id,   
  province_name,   
  region_id,   
  region_name,   
  CAST(SUM(total_amount) AS BIGINT) AS total_amount,   
  COUNT(*) AS total_count  
FROM province_consumption_day_aggr  
WHERE year = YEAR(CURRENT_DATE()) AND month = MONTH(CURRENT_DATE())  
GROUP BY province_id, province_name, region_id, region_name  
ORDER BY total_count DESC, total_amount DESC, province_id DESC  
LIMIT 5;
INSERT INTO provinceavgcmpregion  
SELECT   
  p.provinceid,   
  p.provincename,   
  AVG(o.total_amount) AS provinceavgconsumption,   
  r.regionid,   
  r.regionname,   
  AVG(o.total_amount) OVER (PARTITION BY r.regionid) AS regionavgconsumption,   
  CASE   
    WHEN AVG(o.total_amount) > AVG(o.total_amount) OVER (PARTITION BY r.regionid) THEN '高'   
    WHEN AVG(o.total_amount) < AVG(o.total_amount) OVER (PARTITION BY r.regionid) THEN '低'   
    ELSE '相同'   
  END AS comparison   
FROM dws.province_consumption_day_aggr o  
JOIN dws.provinces p ON o.province_id = p.province_id  
JOIN dws.regions r ON o.region_id = r.region_id  
WHERE o.year = 2020 AND o.month = 4;
SELECT * FROM provinceavgcmpregion ORDER BY provinceid DESC, provinceavgconsumption DESC, regionavgconsumption DESC LIMIT 5;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值