当前位置:首页 » 操作系统 » 数据库求比

数据库求比

发布时间: 2023-08-23 13:18:42

A. 用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数据库中测试通过。

B. SQL求百分比的问题

这是什么数据库呀?俺没有见过(糗). 最后一列能不能直接使用字符串'100.00%' 呢?
希望下边的sql能帮助到你

SELECT T1.供应商,T1.货物,T1.数量,T2.总数量,ROUND(T1.数量*100/T2.总数量,2)||'%' 比例, '100.00%',T2.总数量/T2.总数量 FROM (
(SELECT 供应商,货物,数量 FROM T_TABLE) T1
LEFT JOIN
(SELECT 货物,count(数量) 总数量 FROM T_TABLE GROUP 货物 ) T2
ON T1.货物=T2.货物

)

热点内容
c语言多行数据 发布:2025-03-07 06:17:50 浏览:346
52好压压缩 发布:2025-03-07 06:04:47 浏览:68
相邻算法 发布:2025-03-07 06:01:51 浏览:581
编译器中 发布:2025-03-07 06:01:44 浏览:481
电视现在什么配置好 发布:2025-03-07 06:01:06 浏览:625
安卓内存很大为什么还是卡 发布:2025-03-07 05:43:53 浏览:535
什么配置的车厉害 发布:2025-03-07 05:43:06 浏览:458
魅族应用加密 发布:2025-03-07 05:41:51 浏览:655
c盘windows文件夹多大 发布:2025-03-07 05:35:58 浏览:616
长江存储净资产 发布:2025-03-07 05:35:50 浏览:219