sql语句进行统计所占百分比
亲爱的宝子们好久不见,今天得闲给大家分享一下大屏设计时常用到得统计所占百分比;
这里为了方便大家实操我直接给大家匆匆建立了两个表格sql语句如下:
CREATE table t_group( id int(11) ,name varchar(50));
alter table t_group add primary key (id);
create table t_score( id int(11), g_id int(11), score int(11));
alter table t_score add primary key (id);
insert into t_group (id, name) values ('1', 'a');
insert into t_group (id, name) values ('2', 'b');
insert into t_group (id, name) values ('3', 'c');
insert into t_group (id, name) values ('4', 'd');
insert into t_group (id, name) values ('5', 'e');
insert into t_score (id,g_id, score) values ('1','1', '81');
insert into t_score (id,g_id, score) values ('2','1', '73');
insert into t_score (id,g_id, score) values ('3','2', '78');
insert into t_score (id,g_id, score) values ('4','3', '92');
上面表格创建完成并且插入数据后,我们要对两个表格进行操作了(为了大家能够更好的理解我会用不同颜色进行标注);
select tg.name , sum(ts1.score) / (select sum(ts.score) from t_score ts) * 100 as perc
from t_score ts1 join t_group tg on ts1.g_id = tg.id
group by tg.name
运行后会打印出如下内容:通常情况下我们会进行排序,记得sql语句结尾加上 order by XXX字段名 (正序) + desc (倒序)
select tg.name, sum(ts.score)* 100 /(select sum(ts1.score)from t_score ts1) as c
from t_group tg join t_score ts on tg.id = ts.g_id
group by tg.name order by c DESC ;
本文来自博客园,作者:ganfd,转载请注明原文链接:https://www.cnblogs.com/ganfd/p/16588839.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix