思路总结:
一题目说明
背景说明:
以下表记录了用户每天的蚂蚁森林低碳生活领取的记录流水。
table_name:user_low_carbon
user_id?data_dt??low_carbon
蚂蚁森林植物换购表,用于记录申领环保植物所需要减少的碳排放量
table_name:??plant_carbon
plant_id?plant_name?low_carbon
植物编号 植物名 换购植物所需要的碳
提供数据说明:
提供的数据说明:
user_low_carbon:
user_id data_dt low_carbon
u_001 2017/1/1 10
u_001 2017/1/2 150
u_001 2017/1/2 110
u_001 2017/1/2 10
u_001 2017/1/4 50
u_001 2017/1/4 10
u_001 2017/1/6 45
u_001 2017/1/6 90
u_002 2017/1/1 10
u_002 2017/1/2 150
u_002 2017/1/2 70
u_002 2017/1/3 30
u_002 2017/1/3 80
u_002 2017/1/4 150
u_002 2017/1/5 101
u_002 2017/1/6 68
...
plant_carbon:
plant_id plant_name low_carbon
p001 梭梭树 17
p002 沙柳 19
p003 樟子树 146
p004 胡杨 215
...
题目一:
----题目
1.蚂蚁森林植物申领统计
问题:假设2017年1月1日开始记录低碳数据(user_low_carbon),假设2017年10月1日之前满足申领条件的用户都申领了一颗p004-胡杨,
剩余的能量全部用来领取“p002-沙柳”?。
统计在10月1日累计申领“p002-沙柳”?排名前10的用户信息;以及他比后一名多领了几颗沙柳。
得到的统计结果如下表样式:
user_id??plant_count?less_count(比后一名多领了几颗沙柳)
u_101—>1000—>100
u_088—>900—>400
u_103—>500—>xxx…
解题思路,答案:
①求用户从2017年1月1日开始,到2017年10月1日一共收集了多少了碳
select user_id,sum(low_carbon) sumCarbon
from user_low_carbon
where year(regexp_replace(data_dt,'/','-'))=2017 and month(regexp_replace(data_dt,'/','-')) between 1 and 9