2011-01-20 34 views
2

我有一個查詢從2個表中檢索2次計數。 現在在同一個查詢它(countresult1-countresult2)AS restresultMysql查詢扣除2個計數結果較少0

現在restresult有時小於0(EQ -10),但我想它返回0,如果是0下

嚴正沒有我解釋是正確的?最小值應該是0以下。

乾杯!

回答

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

沒有看到你的查詢,你可以有類似...

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

直到現在我還不知道有SQL中的if-else命令,但我發現了一些。

你將要使用:

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

這裏就是我發現SQL信息來源:http://www.tizag.com/sqlTutorial/sqlcase.php

+0

這只是CASE語句的一部分 – 2011-01-20 16:49:40

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

既不countresult1也不countresult2會返回一個負數,因此以上應該是安全的

0

取最大值0和您計算的值,如下所示:

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