2010-12-03 3 views
0

je 2 champs dans une table de base de données: « up » et « down » et ils ont des valeurs à la fois entières.la requête soit champ avec le plus grand nombre

up = 8 
down = 4 

Pour les lignes où tirer up est plus bas que j'utilise

$query = "SELECT * FROM table WHERE up > down"; 

Supposons que je veuille tirer la valeur de l'un des champs qui a le plus grand nombre. Comment ferais-je cela dans une requête?

Répondre

2
SELECT IF(a > b, a, b) AS max_value 
    FROM (SELECT MAX(up) AS a, 
       MAX(down) AS b 
      FROM table) x 
+0

Hmm, ne serait pas 'SELECT GREATEST (haut, bas) DE table' être plus simple? (vient d'en savoir plus) – Noob

+0

@Noob: ça marche? ;-) Vous pouvez remplacer seulement le mien 'IF' avec' SELECT GREATEST (haut, bas) ', oui. – zerkms

+0

Yup ça marche, juste testé. Noob +1! lol – Noob

Questions connexes