首页 > 数据库 >sql语句进行统计所占百分比

sql语句进行统计所占百分比

时间:2022-08-15 16:57:43浏览次数:60  
标签:语句 insert 百分比 group name into score sql id

亲爱的宝子们好久不见,今天得闲给大家分享一下大屏设计时常用到得统计所占百分比;

这里为了方便大家实操我直接给大家匆匆建立了两个表格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 ;

 

标签:语句,insert,百分比,group,name,into,score,sql,id
From: https://www.cnblogs.com/ganfd/p/16588839.html

相关文章

  • Linux client with AD authentication login windows SQL Server
    Pre-WorklinuxshouldjoinADsameasSQLServersetspnonwindowsSQLServerforlinuxWindowsSQLServerC:\Users\Administrator>setspn-LsqladminRegi......
  • Docker 安装mysql 5.6
    一、dockerhub上面查找mysql镜像dockersearchmysql二、hub上拉取mysql镜像到本地标签为5.6dockerpullmysql:5.6三、使用mysql5.6镜像创建容器(也叫运行镜像)dockerru......
  • mysql 容器内部初始化
    mysql容器内部初始化我推到了dockerhub上一个镜像dockerpullliwenchao1995/mysql8:empty这个镜像是官方提供的mysql8版本,在容器内部把init的命令和要导入的sql放到......
  • mysql-递归查询
    0.背景最近接触到的业务中需要通过mysql查询部门的组织架构层级关系,最一开始的思路是想通过自定义函数来完成,但是查询效率真的是“感人”。又另辟蹊径找到mysql的递归查......
  • linux 使用docker 容器部署sqlserver2019
    前提安装完docker,安装完docker-composedocker-compose.ymlversion:"2"services:sqlserver-2019:restart:always#容器名称container_name:sqlser......
  • 2022-08-15 第六组 Myy 学习笔记_Mysql数据库
    Mysql数据库数据库数据库【按照数据结构来组织、存储和管理数据的仓库】,是一个长期存储载计算机内的、有组织的、可共享的、统一管理的大量数据的集合。数据对于公......
  • QGIS上传图层到PostgreSQL数据库
    1.打开QGIS,加载需要上传的图层数据2.右击PostGIS新建连接3.数据连接信息首次连接还需要输入数据库账号密码4.上传图层这个非常简单,只需要把图层拖拽过去,等待一会,即......
  • SQL Server在所有表中查找
    declare@Strnvarchar(max),@tableNamevarchar(50),@colNamevarchar(50),@rowCountintselecta.nametableName,b.nameColname,0asIsFoundinto#t1froms......
  • Mysql 8.0报错
    安装更新源sudoapt-getupdate更新软件`sudoapt-getupgrade下载wgethttps://dev.mysql.com/get/mysql-apt-config_0.8.14-1_all.debsudodpkg-imysql-apt-con......
  • MySQL连接相关
    官网:https://dev.mysql.com/doc/refman/8.0/en/performance-schema-processlist-table.html   interactive_timeout:交互式连接超时时间(mysql工具、mysqldump等)wai......