Question

Comment puis-je omettre dans mes données Zéros?

Par exemple en utilisant la fonction MIN? Je voudrais que la valeur minimum, sauf un 0 ...

Comment puis-je obtenir le prochain plus grand?

MIN(availables.price)

Aussi est-il un moyen de sauter généralement sur 0s de la même manière si j'utilise la fonction AVG? Le problème est la table que je ne l'ai hérité utilise pas les valeurs NULL, mais a 0.00 pour toutes les données financières.

Merci,

Était-ce utile?

La solution

essayer:

SELECT
    MIN(x)
    FROM ....
    where x<>0

fonctionne avec AVG trop:

SELECT
    avg(x)
    FROM ....
    where x<>0

Autres conseils

vous utilisez Ruby on Rails? Je croyais que vous êtes car cela est étiqueté comme ruby-on-rails, dans ce cas, vous pouvez simplement faire

Available.minimum(:price, :conditions => "price > 0")

ou

Available.average(:price, :conditions => "price > 0")

espoir qui aide =)

SELECT  MIN(CASE price WHEN 0 THEN NULL ELSE price END)
FROM    availables

suffit de laisser les zéros de la requête avec une clause de 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

Peut-être qu'il pourrait faire le travail

SELECT MIN(availables.price)
FROM   availables
WHERE  0 < availables.price
SELECT MIN(availables.price) FROM availables WHERE availables.price <> 0.0

Vous pouvez également utiliser> si vous voulez exclure quoi que ce soit moins de 0. Attention à flotter les problèmes d'arrondi point si vous utilisez flotteur ou types de données smallfloat.

S'il y a NULLs, vous pouvez également envelopper la colonne où la clause dans un ISNULL (availables.price, 0,0) pour exclure ceux aussi bien.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top