我有一个查询,它从2个表中检索2次计数。 现在在同一个查询中(countresult1-countresult2)AS restresult
现在restresult有时小于0(eq -10)但我希望它在0以下时返回0。
嗯我的解释是对的吗?最小值应为0而不是低于。干杯!!!
答案 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)