在 SQL 中,如何将百分比返回到 4 位小数

In SQL how to return a percentage to 4 decimals

提问人:Stewart Edwards 提问时间:11/8/2023 最后编辑:Stewart Edwards 更新时间:11/8/2023 访问量:24

问:

在下面的输出中,我完成了子查询,以确定第 1 列 (Total_Reviews) 的值为 71,第 2 列 (Total_Reviews_Bad) 的值为 7。

我现在想找到差评的百分比,即。(7*100/71) 占小数点后 4 位的百分比。

我正在按照下面的 SQL 代码使用 round 函数,但返回的输出是小数点后 1 位,而不是 4。

有谁知道为什么我只得到小数点后 1 位而不是 4 位的答案?

SELECT 
    Total_Reviews, 
    Total_Reviews_Bad, 
    ROUND(((Total_Reviews_Bad*100)/Total_Reviews),4) AS Percentage

从 (选择 count(review.text) AS Total_Reviews_Open 从 回顾INNER JOIN业务 上 review.business_id = business.id 哪里 is_open像 '%0%'), (选择 count(review.text) AS Total_Reviews_Open_Bad 从 回顾INNER JOIN业务 上 review.business_id = business.id 哪里 is_open像 '%0%' 和 review.text 像 '%bad%')

输出:

Total_Reviews Total_Reviews_Bad 百分比
71 7 9.0
SQL 十进制 舍入

评论

0赞 SelVazi 11/8/2023
请标记您正在使用的 RDBMS

答:

0赞 T N MOHITH 11/8/2023 #1

您尚未添加要从哪个表中选择total_reviews,total_bad_reviews将查询更改为 选择 Total_reviews, Total_bad_reviews, 从您的表名 ROUND(((Total_Reviews_Bad*100)/Total_Reviews),4) 作为百分比