我有一個包含以下記錄集的mysql表。在mysql表中找到第二小的值
Product_id reg_price sale_price
244 50 40
244 45 40
244 45 0
244 40 0
我需要找到最大和最小reg_price,最大值,最小值SALE_PRICE從這個表的條件,如果SALE_PRICE是0.00,那麼它應該返回比第二高值,即40
我查詢是這樣的:
SELECT MAX(regular_price) AS max_regular_price,
MIN(regular_price) AS min_regular_price,
MAX(sale_price) AS max_sale_price,
MIN(sale_price) AS min_sale_price
FROM `table`
where product_id` = 244 LIMIT 1
但它給min_sale_price爲0.00。我應該如何修改它以獲得期望的結果?
什麼是你的推理使用LIMIT - MIN,MAX只打算反正返回一行 - 你試圖消除它? – 2011-12-19 06:40:13
是的,我刪除了限制,但它並沒有解決我的問題。如果最小的sales_value是0.00,那麼我需要從表中獲得第二小的sales_value。 – 2011-12-19 06:46:54
你可以只加'WHERE sale_price!= 0'嗎? – 2011-12-19 07:55:20