我需要获取最低价格值并从数据库中排除零值。这是mysql查询不起作用:
SELECT MIN(price) AS lowprice FROM price WHERE status = 1 AND price > 1 LIMIT 1
答案 0 :(得分:2)
我在自己的数据库上尝试了这个,并使用了:
SELECT MIN(price) AS lowprice
FROM price
WHERE status = 1 AND price > 0
这给了我所有的值,其中status = 1且价格> 0。
所以唯一的区别是price > 0
而不是price > 1
。但是,如果您还要排除值1,那么price > 1
也可以。
<强>更新强>
正如Juan Carlos Oropeza在评论中所说,您不需要LIMIT 1
。我把它从我的代码中删除了,但没有提到这一点。
答案 1 :(得分:0)
在MySQL中,您可以使用NULLIF函数。
SELECT MIN(NULLIF(price, 0)) AS lowprice FROM price WHERE status=1
NULLIF会将价格值与0进行比较,如果为真,则返回null。