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

sql百分比函数

发布时间: 2022-04-11 03:23:51

Ⅰ 用sql语句如何计算百分比或者统计数据个数

declare @biXiu int,@Zongshu int
select @biXiu=count(*) from course where type='必修'
select @Zongshu=count(*) from course
select cast(@biXiu*100.0/@Zongshu as varchar)+'%'
--其中 @biXiu代表必修个总数

--补充字符串说明
SELECT CAST('123.456' as decimal) 将会得到 123(小数点后面的将会被省略掉)。如果希望得到小数点后面的两位。则需要把上面的改为SELECT CAST('123.456' as decimal(38, 2))

Ⅱ 用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中如何计算百分比 并保留两位小数

select convert(decimal(18,2),除数*1.0/被除数)*100 as 百分比 from 表名
decimal(18,2)表示取两位小数

Ⅳ SQL语句小数变成百分数

select convert(numeric(8,2) ,

cast( (select convert(Numeric(8,2),( select COUNT(*) from 表 where 列1=1229)) /

(select count(列1) from 表))) * 100 as varchar(10) ) + '%'

注:*100 as varchar(10))+'%' (10) 变成长度是10的字符串,然后再加上%号,如果不用加%,就不用cast,直接 * 100 就可以了。

(4)sql百分比函数扩展阅读:

注意事项

一、concat函数

该函数用于字串的拼接,比如我们想把10变成10%,就可以写成:

select concat(10,'%');

二、FLOOR(X)

将小数的小数部分去除,只留下整数部分,并且不进行四舍五入。

select FLOOR(5.5);

运行结果为:5

ROUND(X,D)函数和TRANCATE(X,D)函数

两个函数都可以用来对小数保留指定小数位数,其中第二个参数D用来指定要保留到第几位。差别是前者会进行四舍五入,而后者不会。

select ROUND(5.55,1);

select TRANCATE(5.55,1);

二者的运行结果分别为:5.6、5.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数据库中测试通过。

Ⅵ SQL怎么统计百分比

declare @biXiu int,@Zongshu int
select @biXiu=count(*) from course where type='必修'
select @Zongshu=count(*) from course
select cast(@biXiu*100.0/@Zongshu as varchar)+'%'
--其中 @biXiu代表必修个总数

--补充字符串说明
SELECT CAST('123.456' as decimal) 将会得到 123(小数点后面的将会被省略掉)。如果希望得到小数点后面的两位。则需要把上面的改为SELECT CAST('123.456' as decimal(38, 2))
这样可以么?

Ⅶ 使用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查询结果如何以百分比形式输出

以百分比形式输出sql查询结果的步骤如下:要准备的材料是:computer,sql querier。

1.首先,打开sql查询器并连接到需要查询的数据表。以测试表的得分字段为例。

Ⅸ 怎么写求占百分比的sql 语句,内祥

此sql语句包括了两个聚合函数做除法求百分比,并保留两位小数,直接输出字符串形式的百分比。以及对case
when在聚合函数的应用。

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