2010-08-29 66 views

Répondre

2

Il retournera NULL s'il n'y a pas de lignes. Si vous voulez zéro au lieu utilisez ceci:

SELECT IFNULL(SUM(amount), 0) AS balance 
FROM balance 
WHERE amount >= 100 AND userid = 4 

Si vous pensez que la réponse devrait être autre chose que 0 ou NULL alors je vous suggère d'exécuter cette requête à revérifier au moins une ligne est retournée et que les données sont correctes:

SELECT * 
FROM balance 
WHERE amount >= 100 AND userid = 4 
+0

cela n'a pas d'importance si elle renvoie NULL ou 0. J'ai exécuté la requête mais changé 100 à 20 et il renvoie les lignes comme prévu. – Christophe

+0

J'ai trouvé le problème, je fais la somme du montant mais ensuite je vérifie seulement le montant individuel s'il est supérieur ou égal à 100. Donc j'ai changé l'endroit pour le suivant et ça semble fonctionner: WHERE userid = 4 GROUP BY userid ayant somme (montant)> = 100 – Christophe

+0

vous m'a aidé sur le bon chemin pour la réponse, donc je l'ai marqué comme répondu :) – Christophe