我最近在我的查詢中使用了最少的(tb1,tb2,tb3)AS名稱來獲取跨多列的最小值,並檢查它們是否不等於默認值的0.00MySQL LEAST()函數不返回結果的問題
到目前爲止,它工作正常,併爲我打算,以及遠程服務器上的腳本版本工作正常。
但是,在改變了列的默認值和NULL狀態之後(我試圖看看是否可以使用NULL而不是0.00,在閱讀了LEAST文檔之後,我不會想要這樣做),然後重新 - 導入我最初使用的表格。它仍然不像以前那樣工作,因爲沒有明顯的原因,我的使用LEAST()的查詢根本沒有返回,空數組,也沒有可見的錯誤消息。
我已重新啓動MySQL,刷新表,拉遠程腳本來測試我的開發服務器上,似乎沒有任何工作。
在我的開發人員和遠程服務器上通過phpmyadmin在表上運行相同的查詢返回相反的結果,本地返回零行,遠程返回行,兩者都具有相同的EXPLAIN結果(除了表中的#rows )。
從查詢中刪除LEAST()函數,確實會在我的開發服務器上返回數據。
下面是一個例子查詢:
SELECT id, make, model, LEAST(r24ch10k, r36ch10k, r24ch15k, r36ch15k, r24ch20k, r36ch20k) AS lowest
FROM xml
WHERE LEAST(r24ch10k, r36ch10k, r24ch15k, r36ch15k, r24ch20k, r36ch20k) != 0.00
ORDER BY lowest LIMIT 5
我的本地服務器信息:
服務器版本:51年1月5日,社區
的Apache/2.2.16(的Win32)PHP/5.3.3
MySQL客戶端版本:5.0.7 mysqlnd-dev的 - 091210 - $修訂:300533 $
PHP擴展:mysqli的
我的遠程服務器信息:
Server版本:5.0.51a-24 + lenny5
的Apache/2.2.16 PHP/5.3.3
MySQL客戶端版本:5.0.51a
PHP擴展:mysql的
將不勝感激,幫助解決這個問題。
如果任何列是空的,你想要的`LEAST()`返回`0`? – 2011-02-16 21:59:28
我想返回不等於指定列的最小值0.00 – 2011-02-16 22:04:58