我正在寫查詢以顯示數據並在該查詢中添加子句。 我查詢我的查詢將不會工作,因爲在子句中的子句順序
SELECT * FROM `coupons`
WHERE `status` = 'A' && `type` = '2'
&& `time` > CURDATE() && `start_date` <= CURDATE()
order by `stocks` asc
在上面的查詢它得到由「股」,但在某些情況下,個股排序是零,我想表明此行的最後的話。 我該怎麼做,請幫忙。提前致謝。
我正在寫查詢以顯示數據並在該查詢中添加子句。 我查詢我的查詢將不會工作,因爲在子句中的子句順序
SELECT * FROM `coupons`
WHERE `status` = 'A' && `type` = '2'
&& `time` > CURDATE() && `start_date` <= CURDATE()
order by `stocks` asc
在上面的查詢它得到由「股」,但在某些情況下,個股排序是零,我想表明此行的最後的話。 我該怎麼做,請幫忙。提前致謝。
order by CASE WHEN `stocks` = 0 THEN 1 ELSE 0 END asc , `stocks` asc
完美的方法... +1 – 2013-05-06 06:53:51
嘿,哥們,非常感謝,它的工作:-) – Danny 2013-05-06 06:58:16
SELECT *, (if(`stocks` != 0,`stocks`,"")) as newstocks FROM `coupons`
WHERE `status` = 'A' && `type` = '2'
&& `time` > CURDATE() && `start_date` <= CURDATE()
order by newstocks asc
使用上面的代碼。
默認情況下它是遞增,所以你不必客氣。嘗試下面的一個
SELECT * FROM券WHERE狀態=通過殼體股 'A' & &類型= '2' & &時間> CURDATE()& & START_DATE < = CURDATE()命令!= 0,那麼股結束,股票
它首先列出的項目與股票是nozero,然後用股票清單的行數=零
最簡單的方式把我的頭頂部,完全是在MySQL:創建一個存儲函數,返回你的價值如果非零則通過它,如果爲零則通過最高可能值。 (或者,像'order by(case stocks = 0 then 2000000000 else stocks end)'這樣的東西,但是eh。) – cHao 2013-05-06 06:46:16