Самое большое значение от двух или больше полей

Я должен получить самое большое значение от двух полей:

SELECT MAX(field1), MAX(field2)

Теперь, как я могу получить самое большое значение от этих двух?

71
задан Nisse Engström 16 July 2017 в 20:09
поделиться

3 ответа

Вы можете использовать функцию 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)
149
ответ дан 24 November 2019 в 12:53
поделиться
mysql> SELECT GREATEST(2,0);
        -> 2

Итак, попробуйте:

mysql> SELECT GREATEST(MAX(field1), MAX(field2));
6
ответ дан 24 November 2019 в 12:53
поделиться
SELECT max( CASE
                WHEN field1 > field2 THEN field1
                ELSE field2
            END ) as biggestvalue 
FROM YourTable;
0
ответ дан 24 November 2019 в 12:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: