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;