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

sql样本满足比例

发布时间: 2023-06-02 05:10:07

‘壹’ 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

‘贰’ 使用sql语句计算百分比

  • 1、若针对每行求百分比: select SA/TotelTime ,SB/TotelTime ,SC/TotelTime ,SD/TotelTime ,SE/TotelTime from 表名 。

  • 2、若是对总计后的值求百分比: select sum(SA)/sum(TotelTime) ,sum(SB)/sum(TotelTime) ,sum(SC)/sum(TotelTime) ,sum(SD)/sum(TotelTime) ,sum(SE)/sum(TotelTime) from 表名

  • 3、当然,以上都是以小数形式显示结果,若要以百分比形式显示结果:乘以100,并保留两位小数,然后加上“%”即可。
    如:round((SA/TotelTime)*100,2) & "%"

‘叁’ 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错误的。

‘肆’ sql 怎么求比例

declare @sumNum decimal(9,2)
set @sumNum=select sum([销售额]) from [产品销售表]
select [产品],sum([销售额]) as [销售额] ,sum([销售额])/@sumNum as [占比] from [产品销售表]
group by [产品]

‘伍’ sql语句 求比例

你这个表示通过SQL语句得来的还是表本来就是这样的???
占比的公式就是Y舱/总数 C舱/总数 F舱/总数

如果是通过SQL语句的得来的把SQL语句贴出来!!
如果不是表本来就是这样的结构的话,建议你建个视图就行了
下面是SQL语句的查询部分
select 日期 , Y舱 ,Y舱/总数 as Y舱占比 , C舱 ,C舱/总数 as C舱占比 , F舱 , F舱/总数 as F舱占比 , 总数
from 表名

就行了

‘陆’ sql 查询某项比例

那超过50%的用户最多就只有一个?

selecta.商户名称
from
(select商户名称,count(*)count1from交易记录表where交易时间between'2014-01-01'and'2014-01-31'groupby商户名称)a,
(selectcount(*)count2from交易记录表where交易时间between'2014-01-01'and'2014-01-31')b
wherea.count1/b.count2>0.5

时间部分,你自己改写一下,我就随便写了个时间

‘柒’ 用SQL求百分比,同一列数据

select name,str((case (select isnull(sum(cost),0) from table1) when 0 then 0 else cost/(select isnull(sum(cost),0) from table1) end)*100,10,2)+'%' as bfb from table1

以上sql语句较长,解释一下:
使用case...when...end,是为了避免合计cost为0的话,出现无法除0的错误;结果值乘以100是为了配合百分比格式;使用str(...,10,2)函数是把计算出来的数字值转换成两位小数精度的文本串;最后,在结果后加上一个百分号,效果就完整了。

以上语句在sqlserver数据库中测试通过。