Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Maior valor de dois ou mais campos


Você pode querer usar o GREATEST() função:
SELECT GREATEST(field1, field2);

Se você quiser obter o máximo absoluto de todas as linhas, poderá usar o seguinte:
SELECT GREATEST(MAX(field1), MAX(field2));

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

Exemplo 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)