データベーステーブルに2つのフィールドがあります: "up"と "down"で、どちらも整数値を持っています。アップダウンよりも私が最も高い数字のいずれかのフィールドを照会
$query = "SELECT * FROM table WHERE up > down";
を使用した行を引っ張って
up = 8
down = 4
は、私は最高の数を持っているいずれかのフィールドの値を引っ張っするとします。クエリでこれをどのように行うのですか?
データベーステーブルに2つのフィールドがあります: "up"と "down"で、どちらも整数値を持っています。アップダウンよりも私が最も高い数字のいずれかのフィールドを照会
$query = "SELECT * FROM table WHERE up > down";
を使用した行を引っ張って
up = 8
down = 4
は、私は最高の数を持っているいずれかのフィールドの値を引っ張っするとします。クエリでこれをどのように行うのですか?
SELECT IF(a > b, a, b) AS max_value
FROM (SELECT MAX(up) AS a,
MAX(down) AS b
FROM table) x
私はgreatest()
機能が私の場合http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#function_greatest
SELECT GREATEST(up, down) FROM table
うーんにとって理想的であることが判明し、 'table' FROM(アップ、ダウン)GREATESTはシンプルに選択しないでしょうか? (ちょうどそれについて見つけた) – Noob
@ヌーブ:それは動作するのですか? ;-)あなたは 'IF'を' SELECT GREATEST(up、down) 'に置き換えることができます。 – zerkms
それはうまく動作し、ちょうどそれをテストしました。 Noob +1! lol – Noob