如何在我的数据中省略零?
例如使用 MIN 函数?我想要除 0 以外的最小值...
我怎样才能获得下一个最大的?
MIN(availables.price)
如果我使用 AVG 功能,是否还有一种以相同方式跳过 0 的一般方法?问题是我继承的表不使用 NULL 值,但所有财务数据的值为 0.00。
谢谢,
如何在我的数据中省略零?
例如使用 MIN 函数?我想要除 0 以外的最小值...
我怎样才能获得下一个最大的?
MIN(availables.price)
如果我使用 AVG 功能,是否还有一种以相同方式跳过 0 的一般方法?问题是我继承的表不使用 NULL 值,但所有财务数据的值为 0.00。
谢谢,
尝试:
SELECT
MIN(x)
FROM ....
where x<>0
也适用于 AVG:
SELECT
avg(x)
FROM ....
where x<>0
你在rails上使用ruby吗?我想你是因为这被标记为 ruby-on-rails,在这种情况下,你可以简单地做
Available.minimum(:price, :conditions => "price > 0")
或者
Available.average(:price, :conditions => "price > 0")
希望有帮助=)
SELECT MIN(CASE price WHEN 0 THEN NULL ELSE price END)
FROM availables
只需使用where
子句将零从查询中删除即可。
select min(price)
from price_table
where price > 0;
select avg(price)
from price_table
where price > 0;
SELECT MIN(availables.price) FROM availables WHERE availables.price <> 0.0
如果您想排除小于 0 的任何值,也可以使用 >。如果您使用 float 或 smallfloat 数据类型,请注意浮点舍入问题。
如果有 NULL,您还可以将 where 子句列包装在 ISNULL(availables.price, 0.0) 中以排除这些。
SELECT MIN(price)
FROM availables
WHERE price <> 0
也许它可以完成工作
SELECT MIN(availables.price)
FROM availables
WHERE 0 < availables.price