Я должен получить самое большое значение от двух полей:
SELECT MAX(field1), MAX(field2)
Теперь, как я могу получить самое большое значение от этих двух?
Вы можете использовать функцию 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)
mysql> SELECT GREATEST(2,0);
-> 2
Итак, попробуйте:
mysql> SELECT GREATEST(MAX(field1), MAX(field2));
SELECT max( CASE
WHEN field1 > field2 THEN field1
ELSE field2
END ) as biggestvalue
FROM YourTable;