当前位置:首页 » 编程语言 » sql各组占比
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql各组占比

发布时间: 2022-04-17 08:15:46

1. sql 两次分组求百分比

select order_type,is_olser,sum(counts)/c2 from order_today
lett join (select order_type ot,sum(counts) c2 from group by order_today) ot2 on ot2.ot=order_today.order_type
group by order_type,is_olser,c2

2. SQLSERVER数据库求每列不同数据所占百分比

如果只有abc这三种数据的话,就应该这样做:
先求出a的个数:select count(*) from table where name='a',
再求出总数据的个数:select count(*) from table
你可以先定义一个变量,那么a所占的比例就是:
declare @avg float
set @avg =select count(*) from table where name='a'/select count(*) from table
后面的依次类推。。。。
如果不止这三种数据的话,你可以先用group by先分一下组,然后再求比例。

3. 求一个SQL百分占比的写法

你没试吗?这就是所有占总销量80%的所有客户,您糊涂了吗?即然您只要了80%的客户,都是一个百分数,还有什么多少?还排什么序?
不过,看在分的面子上,后面我又给了您占总销量80%以上的所有客户按销量反排序的查询。

MSSQL:
select
A,
SUM(B) AS 销售额合计,
100*SUM(B)/(SELECT SUM(B) FROM 表) AS 占总百分比
FROM 表 group by A
HAVING 100*SUM(B)/(SELECT SUM(B) FROM 表)=80

select
A,
SUM(B) AS 销售额合计,
100*SUM(B)/(SELECT SUM(B) FROM 表) AS 占总百分比
FROM 表 group by A
HAVING 100*SUM(B)/(SELECT SUM(B) FROM 表)=80

占总销量80%以上的所有客户按销量排序。

select
A,
SUM(B) AS 销售额合计,
100*SUM(B)/(SELECT SUM(B) FROM 表) AS 占总百分比
FROM 表 group by A
HAVING 100*SUM(B)/(SELECT SUM(B) FROM 表)>=80
order by SUM(B) desc

4. SQL语句计算男女员工各占比例。

假设表员工档案里有性别、姓名两个字段
select count(*) as 员工总数,sum(case when 性别=男 then 1 else 0 end) 男员工数,sum(case when 性别=男 then 1 else 0 end)/nullif(count(*),0) 男所占比例,sum(case when 性别=女 then 1 else 0 end) 女员工数,sum(case when 性别=女 then 1 else 0 end) /nullif(count(*),0)女所占比例
from 员工档案

你自己试试看吧
楼上的写的不错,但是最好注意一些除0问题,要是张空表会报除0错误的。

5. sql 统计同类物品个数在总数中占的比例

假设你这个表名是 T,你要的结果是下面这一句 SQL:

Select T1.类型,T1.数量小计/T2.数量合计 as 比例
(Select T.类型,sum(T.数量) as 数量小计 from T Group By T.类型) T1
Left Join
(Select sum(数量) as 数量合计 from T) T2
ON 1=1

6. 求一个sql语句,查询某个值在数据集中的占比情况

写一个sql语句恐怕不行。

应当先写一段sql语句,计算出links字段的总和。
然后再写一段sql语句,以links字段的每一个值除以links字段的总和,这样就能得出links字段每个值在该字段总和里的占比。
这种情况下,就要写两端sql语句。

7. sql 求占比

select

t1.province,

cast(count(1)*100/(selectcount(1)fromprovince)asvarchar(10))+'%'

from

provincet1

groupby

t1.province

8. SQL SEVER如何分类汇总后再求每一项所占的百分比

SELECT国家,sum(出口量)as出口数量,SUM(出口量)*100.0/(selectSUM(出口量)fromseamlesswhere年份=2015)as占比
FROMseamlesswhere年份=2015
groupby国家
orderby出口数量desc

9. 求这个字段里的 百分比占比Sql怎么写,如满意的占总数的百分之多少,不满意的占百分之多少

withttas(
select1asid,'满意'asgradeunionall
select2asid,'非常满意'asgradeunionall
select3asid,'满意'asgradeunionall
select4asid,'一般'asgradeunionall
select5asid,'很满意'asgradeunionall
select6asid,'不满意'asgradeunionall
select7asid,'满意'asgradeunionall
select8asid,'不满意'asgradeunionall
select9asid,'满意'asgrade
)
selectgrade,COUNT(1)as数量,convert(decimal(6,4),COUNT(1))/(selectCOUNT(*)fromtt)as百分比fromttgroupbygrade

10. sql sever 如何算条件聚类后各自占的百分比

selecttable1.tas水果,table1.shuas'pz=1的数量',table2.shuas总数量,cast(table1.shu*100/table2.shuasvarchar)+'%'as'pz=1占比'from
(selecttypeast,COUNT(pz)asshufromtenwherepz=1groupbytype)astable1
leftjoin(selecttypeast,COUNT(*)asshufromtengroupbytype)astable2ontable1.t=table2.t