2

mysql GREATEST()関数を使用して、いずれかの列(applesまたはpeaches)から最大の整数値を選択しています。

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

とを使用する$result = "SELECT GREATEST(apples, peaches) FROM table";echo $result、次のようになります。

8
6
9
7

各値の横に、対応する果物の名前と果物のアイコンをエコーし​​ます。MYSQLクエリを介して以下の画像を取得するにはどうすればよいですか?

代替テキスト

また、関数によって等しい値が表示されないことに注意してGREATEST()ください。等しい値を表示する方法もありますか?

4

1 に答える 1

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 ...
于 2010-12-05T00:20:15.970 に答える