2010-12-03 8 views
0

Ich habe 2 Felder in einer Datenbanktabelle: "up" und "down" und beide haben ganzzahlige Werte.Abfrage entweder Feld mit der höchsten Nummer

up = 8 
down = 4 

Reihen zu ziehen, wo mehr als die nach unten ist verwende ich

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

Angenommen, ich möchte den Wert der beiden Feld ziehen, die die höchste Zahl hat. Wie würde ich das in einer Abfrage tun?

Antwort

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, SELECT wäre nicht ideal greatest() Funktion ist gefunden GREATEST (oben, unten) FROM table' einfacher sein? (Habe gerade davon erfahren) – Noob

+0

@Noob: Funktioniert es? ;-) Du könntest nur meine 'IF' durch' SELECT GREATEST (hoch, runter) 'ersetzen, ja. – zerkms

+0

Yup es funktioniert, nur getestet. Noob +1! lol – Noob

Verwandte Themen