当前位置:首页 » 编程语言 » sql统计百分比

sql统计百分比

发布时间: 2024-03-29 18:47:14

⑴ 求一条sql计算百分比的语句,谢谢好心人! 就是让每个牌子的数量除以所有手机的总和

这样写看看,能行的,我测试过的:
结果纳好迟为:
OPPO 60 66.67%
诺基亚 10 11.11%
三星 20 22.22%

SELECT A.手机品牌,A.数量,CONVERT(VARCHAR(8),CONVERT(DECIMAL(8,2),A.数量*1.0/B.SUM_数量*100))+'%'
FROM
(SELECT 手机袜乱品牌,SUM(数量) AS 数量 FROM BAIDU_224 GROUP BY 手机品牌) AS A,
(SELECT SUM(数量洞李) AS SUM_数量 FROM BAIDU_224) AS B

⑵ 用sql语句怎么计算 百分比 的数值呢 求代码!

--建立测试表testTable

createtabletestTable(idintidentity(1,1),typenvarchar(8))

go

--循环插入测试语句

declare@aint

set@a=0

while(@a<100)

begin

if@a<80

insertintotestTable(type)values('会员')

else

insertintotestTable(type)values('vip')

set@a=@a+1

end

go

--查看插入表中的所有数据

select*fromtestTable

--查看你要看的的数据

selectb.sumb%a.suma'会员占总人数的百分比(%)'

from(selectCOUNT(*)sumafromtestTable)a,

(selectCOUNT(*)sumbfromtestTablewheretype='会员')b

selectb.sumb%a.suma'vip占总人数的百分比(%)'

from(selectCOUNT(*)sumafromtestTable)a,

(selectCOUNT(*)sumbfromtestTablewheretype='vip')b

selectb.sumb%a.suma'会员占总人数的百分比(%)',c.sumc%a.suma'vip占总人数的百分比(%)'

from(selectCOUNT(*)sumafromtestTable)a,

(selectCOUNT(*)sumbfromtestTablewheretype='会员')b,

(selectCOUNT(*)sumcfromtestTablewheretype='vip')c

--查看完删除测试表testTable

droptabletestTable

结果我已经看过了,如下图:

⑶ 怎么用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,并保留两位小数,然后加上“%”即可。

⑷ 求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 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数据库中测试通过。

热点内容
渲染器服务器ip一定吗 发布:2024-11-28 18:44:38 浏览:648
光遇的服务器老是爆满怎么办 发布:2024-11-28 18:41:10 浏览:714
sql最大日期的记录 发布:2024-11-28 18:35:35 浏览:716
数据服务器和电脑如何连接 发布:2024-11-28 18:06:49 浏览:745
怎么让编译器输出的字符相隔单位 发布:2024-11-28 18:04:25 浏览:524
w7电脑如何显示配置 发布:2024-11-28 18:01:35 浏览:116
智通编译股票股东 发布:2024-11-28 17:51:56 浏览:731
耻辱2低配置怎么设置 发布:2024-11-28 17:51:50 浏览:92
王水是用什么配置的 发布:2024-11-28 17:43:59 浏览:621
编程猫简 发布:2024-11-28 17:30:20 浏览:163