栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

mysql kudu impala中 多层分组 先统计用户数量 再区间统计和的数量

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

mysql kudu impala中 多层分组 先统计用户数量 再区间统计和的数量

需求

统计用户记录中的金币数量再根据用户进行金币数区间统计

sql

– kudu跑不了这个sql但是理论上这个可行
select elt(interval(aa.count,0, 10000, 20000, 30000), ‘1/less10000’, ‘2/1000to20000’, ‘3/20000to30000’, ‘4/more30000’) as level, count(1) analysis
from (select sum(ap.parameter) count ,up.did did from db_user.prize up left join admin.prize ap on up.prize_id=ap.id group by did) aa
group by elt(interval(aa.count,0, 10000, 20000, 30000), ‘1/less10000’, ‘2/1000to20000’, ‘3/20000to30000’, ‘4/more30000’);
– 红包币数量排序
select sum(ap.parameter) count ,up.did did from db_user.prize up left join admin.prize ap on up.prize_id=ap.id group by did order by count desc;

– 最后用这个统计的区间红包币数值
select
case
when aa.count<1000 then ‘1 0-1000’
when aa.count<5000 then ‘2 1000-5000’
when aa.count<10000 then ‘3 5000-10000’
when aa.count<15000 then ‘4 10000-15000’
when aa.count<20000 then ‘5 15000-20000’
when aa.count<25000 then ‘6 20000-25000’
else ‘7 大于25000’ end level,
count(1) analysis
from (select sum(ap.parameter) count ,up.did did from db_user.prize up left join admin.prize ap on up.prize_id=ap.id group by did) aa
group by level;

参考

mysql 区间分组_mysql 按区间group by

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1032274.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号