蚂蚁森林

p001 梭梭树 17

p002 沙柳 19

p003 樟子书 146

p004 胡杨 225

select

  user_id,

  (sum_low_carbon-t2.low_carbon)/t3.low_carbon

from

  (select user_id,

  sum(low_carbon) sum_low_carbon

from

  user_low_carbon

where

  date_format(regexp_replace(data_dt,'/','-'),'yyyy-MM')<'2017-10'

group by

  user_id)t1,

  (select low_carbon from plan_carbon where plan_id='p004')t2,

  (select low_carbon from plan_carbon where plan_id='p002')t3;



1.统计每个用户截止到2019年10/1日期总低碳量

select

  user_id,

  sum(low_carbon) sum_low_carbon

from

  user_low_carbon

where

  date_format(regexp_replace(data_dt,'/','-'),'yyyy-MM')<'2019-10'

group by

  user_id;t1

2.取出胡杨的能量

select low_carbon from plan_carbon where user_id='p004';t2

3.取出沙柳的能量

select low_carbon from plan_carbon where user_id='p002';t3

4计算每个人申领沙柳的棵树

select

  user_id,

  floor((sum_low_carbon-t2.low_carbon)/t3.low_carbon) plant_count

from

  t1,t2,t3;


5.按照申领沙柳棵树排序,将下一行数据中得plant_count放置当前行

select

  user_id,

  plant_count,

  lead(plant_count,1,'9999') over(order by plant_count desc) lead_plant_count

from

  ()t4

limit 10;t5

6.求相差得沙柳棵树

select

  user_id,

  plant_count,

  (plant_count-lead_plant_count) plant_count_diff

from

  ()t5;


-----------------------------------------------------------------------------------------------------------------------

select

  user_id,

  floor((sum_low_carbon-t2.low_carbon)/t3.low_carbon)

from

  (select

  user_id,

  sum(low_carbon) sum_low_carbon

from

  user_low_carbon

where

  date_format(regexp_replace(data_dt,'/','-'),'yyyy-MM')<'2019-10'

group by

  user_id)t1,

  (select low_carbon from plan_carbon where user_id='p004')t2,

  (select low_carbon from plan_carbon where user_id='p002')t3;

你可能感兴趣的:(蚂蚁森林)