Mysql查询扣除2个计数结果少于0

时间:2011-01-20 14:58:20

标签: sql mysql

我有一个查询,它从2个表中检索2次计数。 现在在同一个查询中(countresult1-countresult2)AS restresult

现在restresult有时小于0(eq -10)但我希望它在0以下时返回0。

嗯我的解释是对的吗?最小值应为0而不是低于。

干杯!!!

5 个答案:

答案 0 :(得分:3)

GREATEST((countresult1-countresult2), 0) AS restresult

答案 1 :(得分:1)

if (countresult1<countresult2, 0, countresult1-countresult2) as restresult

countresult1和countresult2都不会返回负数,所以上面应该是安全的

答案 2 :(得分:0)

没有看到您的查询,您可以拥有类似......

的内容
MAX( if( countresult1-countresult2 < 0, 0, countresult1-countresult2 )) as YourResult

答案 3 :(得分:0)

直到现在我不知道SQL中有if-else命令,但我发现了一些。

你会想要使用:

WHEN (countresult1-countresult2) < 0 THEN 0 ELSE (countresult1-countresult2)

以下是我找到SQL信息的来源:http://www.tizag.com/sqlTutorial/sqlcase.php

答案 4 :(得分:0)

取最大值0和你计算的值,如下所示:

SELECT GREATEST(your-restresult-query,0)
FROM ... (etc)