1. ホーム
  2. mysql

[解決済み] 2つ以上のフィールドから得られる最大の価値

2023-03-27 14:53:03

質問

2つのフィールドから最大の値を取得する必要があります。

SELECT MAX(field1), MAX(field2)

さて、この2つから最大の価値を得るにはどうしたらいいでしょうか?

どのように解決するのですか?

あなたは GREATEST() という関数があります。

SELECT GREATEST(field1, field2);

すべての行から絶対最大値を取得したい場合は、以下のようにするとよいでしょう。

SELECT GREATEST(MAX(field1), MAX(field2));

例1:

SELECT GREATEST(1, 2);
+----------------+
| GREATEST(1, 2) |
+----------------+
|              2 |
+----------------+
1 row in set (0.00 sec)

例2:

CREATE TABLE a (a int, b int);

INSERT INTO a VALUES (1, 1);
INSERT INTO a VALUES (2, 1);
INSERT INTO a VALUES (3, 1);
INSERT INTO a VALUES (1, 2);
INSERT INTO a VALUES (1, 4);

SELECT GREATEST(MAX(a), MAX(b)) FROM a;
+--------------------------+
| GREATEST(MAX(a), MAX(b)) |
+--------------------------+
|                        4 |
+--------------------------+
1 row in set (0.02 sec)