최소 및 AVG를 사용한 SQL 골재 기능
-
20-09-2019 - |
문제
내 데이터에서 0을 생략하려면 어떻게해야합니까?
예를 들어 최소 기능을 사용합니까? 0을 제외한 최소값을 원합니다 ...
다음으로 가장 큰 것을 얻으려면 어떻게해야합니까?
MIN(availables.price)
또한 AVG 기능을 사용하는 경우 일반적으로 같은 방식으로 0을 건너 뛰는 방법이 있습니까? 문제는 내가 상속받은 테이블이 NULL 값을 사용하지 않지만 모든 재무 데이터에 대해 0.00을 가지고 있다는 것입니다.
감사,
해결책
노력하다:
SELECT
MIN(x)
FROM ....
where x<>0
AVG 와도 작동합니다.
SELECT
avg(x)
FROM ....
where x<>0
다른 팁
Ruby on Rails를 사용하고 있습니까? 나는 이것이 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
쿼리에서 0을 where
절.
select min(price)
from price_table
where price > 0;
select avg(price)
from price_table
where price > 0;
SELECT MIN(price)
FROM availables
WHERE price <> 0
어쩌면 그것은 일을 할 수 있습니다
SELECT MIN(availables.price)
FROM availables
WHERE 0 < availables.price
SELECT MIN(availables.price) FROM availables WHERE availables.price <> 0.0
또한 0보다 적은 것을 제외하려면> 플로트 또는 소형 플로트 데이터 유형을 사용하는 경우 부동 소수점 반올림 문제에주의하십시오.
널이있는 경우 where 절 열을 isnull (availables.price, 0.0)으로 래핑하여 그것들을 배제 할 수도 있습니다.
제휴하지 않습니다 StackOverflow