2010-12-05 3 views
2

mysql GREATEST()関数を使用して、いずれかの列(リンゴまたは桃)から最も高い整数値を選択しています。 $result = "SELECT GREATEST(apples, peaches) FROM table";echo $resultを使用してクエリフィールドを最大で検出する

+----+------------------+ 
| id | apples | peaches | 
+----+------------------+ 
| 1 | 8 | 4 | 
| 2 | 2 | 6 | 
| 3 | 3 | 9 | 
| 4 | 7 | 2 | 
| 5 | 4 | 4 | 
+----+------------------+ 

、私が取得:

各値に次
8 
6 
9 
7 

、私は、対応する果物の名前と果物のアイコンをエコーし​​ます。どのように私はMYSQLのクエリを介して下の画像を達成することができますか?

alt text

また、等しい値がGREATEST()機能によって表示されないことに気づきます。同じ値を表示する方法はありますか?

+1

あなたが唯一の2列を持っているか、これは単純化されます例? –

+0

はい私はちょうど2列を比較する必要があります – Noob

答えて

4
SELECT 
IF(apples >= peaches, apples, peaches) AS quantity, 
IF(apples >= peaches, 'apples', 'peaches') AS fruit 
FROM ... 

か、あなたはリンゴが等しい上のデフォルトにしたいとの両方の果物が均等に表現されたときに知られたくない場合は:

SELECT 
IF(apples >= peaches, apples, peaches) AS quantity, 
CASE WHEN apples > peaches THEN 'apples' WHEN peaches > apples THEN 'apples' ELSE 'both' END AS fruit 
FROM ... 
+0

あなたのコードがありがとう!私はあなたのコードをこの作業クエリに実装するために 'greatest()'関数を保持したいと思いました。 'SELECT GREATEST(apples、peaches)を量として、CASE WHENならapples> peaches THEN 'apples' peach> apples THEN 'peaches' ELSE '両方とも「果実から終わりに...」 – Noob

関連する問題