gpt4 book ai didi

mysql - 使用多个 SUM 时遇到除零错误

转载 作者:行者123 更新时间:2023-11-29 12:35:20 26 4
gpt4 key购买 nike

我创建了以下查询

SELECT LPORGNAME
,SUM(TOTALNoOFTRANSFERS) as TOTAL
,SUM(TReads) AS TReads
,ISNULL(ROUND(ISNULL(SUM(TReads),0)/CAST(SUM(TOTALNoOFTRANSFERS)AS FLOAT)*100,2),0)
FROM T_SPID_TRANSFER_IVSO
WHERE DM_FISC_YEAR = '2014-15'
GROUP BY LPORGNAME, DM_FISC_YEAR
ORDER BY LPORGNAME, DM_FISC_YEAR

但是我遇到了被零除的错误,正如你所看到的,我尝试尝试 ISNULL 方式,但这不起作用。我该如何解决这个问题?

编辑 TOTALNoOFTRANSFERS 是一个 SUM 列,不允许 NULL,因此它始终为 0

编辑找到了一种避免所有 0 的简单方法。添加 WHERE TOTALNoOFTRANSFERS > 0,避免所有 0 全部在一起

最佳答案

基本上你会这样做

SUM(TReads) / SUM(TOTALNoOFTRANSFERS)*100

这可能是例如

3 / 0

除以零无法计算。考虑一下应该显示什么并破例。像这样

case when SUM(TOTALNoOFTRANSFERS) = 0
then 0
else SUM(TReads) / SUM(TOTALNoOFTRANSFERS)*100
end

关于mysql - 使用多个 SUM 时遇到除零错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26869244/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com