2011-02-07 54 views
1

好吧,我有列的表像的MySQL/PHP多值列決定表中最低值

ID,姓名,c_price1,p_price2,c_price3,p_price4

我需要找出MySQL查詢它只會搜索c_price1 & c_price2列並返回表中不等於的最低5個值0.00

您的幫助非常感謝。

+2

我會建議給[規範化](http://en.wikipedia.org/wiki/Database_normalization)並給你的列有意義的名字(price3和price4和c_price和p_price有什麼區別,而不知道實現細節) ... – ircmaxell 2011-02-07 20:40:27

回答

1

使用LEAST function

SELECT LEAST(t.c_price1, t.c_price2) AS lowest 
    FROM YOUR_TABLE t 
    WHERE LEAST(t.c_price1, t.c_price2) != 0.00 
ORDER BY lowest 
    LIMIT 5 

不能在WHERE子句中使用列別名,MySQL支持最早是GROUP BY但是這並不適用於所有的數據庫的情況。

+0

謝謝你的回答。 – 2011-02-07 21:16:59

0

未經測試的:具有our_min> 0 ORDER BY our_min極限5

SELECT MIN(價格1,price2),如從some_table our_min;