我有一個查詢從2個表中檢索2次計數。 現在在同一個查詢它(countresult1-countresult2)AS restresultMysql查詢扣除2個計數結果較少0
現在restresult有時小於0(EQ -10),但我想它返回0,如果是0下
嚴正沒有我解釋是正確的?最小值應該是0以下。
乾杯!
我有一個查詢從2個表中檢索2次計數。 現在在同一個查詢它(countresult1-countresult2)AS restresultMysql查詢扣除2個計數結果較少0
現在restresult有時小於0(EQ -10),但我想它返回0,如果是0下
嚴正沒有我解釋是正確的?最小值應該是0以下。
乾杯!
GREATEST((countresult1-countresult2), 0) AS restresult
沒有看到你的查詢,你可以有類似...
MAX(if(countresult1-countresult2 < 0, 0, countresult1-countresult2)) as YourResult
直到現在我還不知道有SQL中的if-else命令,但我發現了一些。
你將要使用:
WHEN (countresult1-countresult2) < 0 THEN 0 ELSE (countresult1-countresult2)
這裏就是我發現SQL信息來源:http://www.tizag.com/sqlTutorial/sqlcase.php
if (countresult1<countresult2, 0, countresult1-countresult2) as restresult
既不countresult1也不countresult2會返回一個負數,因此以上應該是安全的
取最大值0和您計算的值,如下所示:
SELECT GREATEST(your-restresult-query,0)
FROM ... (etc)
這只是CASE語句的一部分 – 2011-01-20 16:49:40