[英]SQL Calculate percentage
我在一个表中有四列。
+------+-------+------------+---------------+
| Year | Month | OrderCount | SaleCount2015 |
+------+-------+------------+---------------+
| 2015 | 1 | 876 | 453 |
| 2015 | 2 | 764 | 548 |
| 2015 | 3 | 951 | 632 |
| 2015 | 4 | ... | ... |
+------+-------+------------+---------------+
我想计算每个月的 SalePercentage,但结果返回 0。 我使用以下 SQL 查询。
Select Year,
Month,
OrderCount,
SaleCount,
SaleCount/OrderCount AS SalePercentage
From TableName
谁能告诉我这个查询的问题? 谢谢。
SELECT Year, Month, OrderCount, SaleCount,
CAST (SaleCount AS FLOAT) / CAST(OrderCount AS FLOAT) AS SalePercentage
FROM TableName
您使用的是整数除法,因此5/10
将是0
,但5.0/10.0
将是0.5
如果您使用的是sql server
如果你除以整数,那么你得到的结果是整数;
将一列或两列值转换为float
或double
cast(SaleCount as float) /OrderCount AS SalePercentage
或者
(SaleCount*1.0)/OrderCount AS SalePercentage
最好检查OrderCount
是否zero
case when OrderCount = 0 then 0
else (SaleCount*1.0)/OrderCount end AS SalePercentage
使用Money类型进行财务计算...
SELECT Year, Month, OrderCount, SaleCount, IIF(OrderCount = 0, 0, CAST(SaleCount AS MONEY)/CAST(OrderCount AS MONEY)) AS SalePercentage FROM TableName
无论您使用哪个数据库。 您的结果显示的不是百分比,而是一小部分。 如果您将其乘以 100,它将得到解决:
Select Year,
Month,
OrderCount,
SaleCount,
(SaleCount*100)/OrderCount AS SalePercentage
From TableName
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.