mysql选择最小价格值排除零

mysql选择最小价格值排除零,mysql,Mysql,我需要获取最小价格值并从数据库中排除零值。以下是不起作用的mysql查询: SELECT MIN(price) AS lowprice FROM price WHERE status = 1 AND price > 1 LIMIT 1 我在自己的数据库中尝试了这一点,并使用了: SELECT MIN(price) AS lowprice FROM price WHERE status = 1 AND price > 0 这给了我status=1和price>0的所有值。 所以

我需要获取最小价格值并从数据库中排除零值。以下是不起作用的mysql查询:

SELECT MIN(price) AS lowprice FROM price WHERE status = 1 AND price > 1 LIMIT 1

我在自己的数据库中尝试了这一点,并使用了:

SELECT MIN(price) AS lowprice 
FROM price 
WHERE status = 1 AND price > 0
这给了我status=1和price>0的所有值。 所以唯一的区别是
price>0
而不是
price>1
。但是如果您还想排除1的值,那么
price>1
也可以

更新:


正如评论中所说,您不需要
限制1
。我把它忘在代码中了,但没有提到这一点。

我在自己的数据库中尝试了这一点,并使用了:

SELECT MIN(price) AS lowprice 
FROM price 
WHERE status = 1 AND price > 0
这给了我status=1和price>0的所有值。 所以唯一的区别是
price>0
,而不是
price>1
。但是如果您还想排除1的值,那么
price>1
也可以

更新:


正如评论中所说,您不需要
限制1
。我在代码中没有提到这一点。

在MySQL中,可以使用NULLIF函数

SELECT MIN(NULLIF(price, 0)) AS lowprice FROM price WHERE status=1

NULLIF将把price值与0进行比较,如果为true,则返回null。

在MySQL中,可以使用NULLIF函数

SELECT MIN(NULLIF(price, 0)) AS lowprice FROM price WHERE status=1

NULLIF会将价格值与0进行比较,如果为真,则返回null。

从状态为1且价格为0的价格中选择最低(价格)作为低价。
已尝试但未生效您说不生效是什么意思?结果中仍有零值显示证据。提供完整的代码片段。和数据样本<代码>从状态为1且价格>0的价格中选择最低(价格)作为最低价格<代码>已尝试但未工作是什么意思?结果中仍有零值显示证据。提供完整的代码片段。数据样本也不需要
LIMIT 1
with
MIN()
也不需要
LIMIT 1
with
MIN()