2010-12-03 9 views
0

データベーステーブルに2つのフィールドがあります: "up"と "down"で、どちらも整数値を持っています。アップダウンよりも私が最も高い数字のいずれかのフィールドを照会

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

を使用した行を引っ張って

up = 8 
down = 4 

は、私は最高の数を持っているいずれかのフィールドの値を引っ張っするとします。クエリでこれをどのように行うのですか?

答えて

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

うーんにとって理想的であることが判明し、 'table' FROM(アップ、ダウン)GREATESTはシンプルに選択しないでしょうか? (ちょうどそれについて見つけた) – Noob

+0

@ヌーブ:それは動作するのですか? ;-)あなたは 'IF'を' SELECT GREATEST(up、down) 'に置き換えることができます。 – zerkms

+0

それはうまく動作し、ちょうどそれをテストしました。 Noob +1! lol – Noob

関連する問題