MySQL - 计算返回的IFNULL值而不是0.00

时间:2014-08-20 14:49:43

标签: mysql percentage ifnull

我在我的查询中添加了一个百分比计算(%_SOLD - SOLD占FOUND的百分比 - 第3行),该查询在一定程度上工作但是当SOLD返回为NULL时返回IFNULL值而不是0.00。 / p>

IFNULL(ROUND((SUM(CASE WHEN ((rows.type = 3) OR (rows.name = 'Labour')) THEN rows.price END)),2),0.00) AS FOUND,
IFNULL(ROUND((SUM(CASE WHEN (((rows.type = 3) OR (rows.name = 'Labour')) AND rows.status = 'A') THEN rows.price END)),2),0.00) AS SOLD,
IFNULL(ROUND((((SUM(CASE WHEN (((rows.type = 3) OR (rows.name = 'Labour')) AND rows.status = 'A') THEN rows.price END))*100.0)/(SUM(CASE WHEN ((rows.type = 3) OR (rows.name = 'Tyre Labour')) THEN rows.price END))),2),'na') AS '%_SOLD'

这是我得到的输出:

"FOUND"     "SOLD"      "%_SOLD"
"269.86"    "0.00"      "na"
"0.00"      "0.00"      "na"

第2行正确返回IFNULL值,因为FOUND和SOLD均为0.00,但我需要第1行返回计算结果(0.00)而不是IFNULL值。

我尝试将在查询的前两行中使用的IFNULL 0.00插入到百分比计算中,但它不起作用。

请帮助,谢谢!

0 个答案:

没有答案