2010-10-18 12 views
0

Je vais avoir du mal à trier une requête pour ce qui suit:Problème d'écriture requête MySQL pour trouver la différence

Data: 
Column1 Column2 
2  0 
0  -2 

Je suis en train de sélectionner la différence entre Column1 et Colonne2, avec un minimum de 0. Par exemple.

Row1=2 
Row2=0 

Ma requête actuelle est SELECT (Column1 - Column2) as total FROM blah.

J'ai essayé d'ajouter max(Column2, 0) dans la requête, mais seulement des erreurs.

Répondre

2

Essayez:

SELECT GREATEST(Column1 - Column2, 0) 
from Table 
+0

Merci beaucoup! –

0

La fonction MySQL MAX() est une fonction d'agrégation, souvent utilisé en combinaison avec un GROUP BY. Il ne prend qu'un argument (le nom de la colonne dont vous voulez sélectionner la valeur maximale). La fonction GREATEST() est la fonction dont vous avez besoin (comme l'a souligné Michael Pakhantsov).