gpt4 book ai didi

SQL 错误的百分比计算

转载 作者:行者123 更新时间:2023-12-02 18:08:02 25 4
gpt4 key购买 nike

我目前正在编写一份小报告,我必须创建目标百分比的数字,但是我编写的查询似乎显示了错误的百分比计算,我不完全确定原因。该查询已删除所有敏感信息;

SELECT  YearMonth
, Code
, COUNT(*) AS Total
, (COUNT(*) / 100 * 2) AS 'Q1 Target'
, (COUNT(*) / 100 * 3) AS 'Q2 Target'
, (COUNT(*) / 100 * 4) AS 'Q3 Target'
, (COUNT(*) / 100 * 5) AS 'Q4 Target'
FROM xxx
LEFT JOIN Calendar AS C ON Date = xxx
WHERE code IN (xxx)
and xxx BETWEEN '20220301' AND '20220331'
GROUP BY YearMonth, code

返回的结果是;

如您所见,第一行总共有 611 个,其中 2% 是 12 个,这是正确的。但是,如果您查看第 3 行,您可以看到总数为 659,其中 2% 应为 13,但显示为 12。同样的情况也适用于下一列,其中 659 的 3% 应为 19,但实际为显示为 18。仅需要整数,因此无需进行转换。

有什么原因可以解释为什么会发生这种情况吗?

最佳答案

Only whole integers are required so no need to cast.

你确定吗?

整数除法中的 659/100 结果为 6,并丢弃余数。 6*2=12。

100 更改为 100.0 来强制使用 float 小数除法。您可能需要一些舍入/文本函数才能返回到令人满意的两位数。

关于SQL 错误的百分比计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72868253/

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