GREATEST
This function returns the greatest value from a list of expr[1...N].
Syntax
sql
GREATEST(expr1 [, expr2, ..., exprN])Arguments
expr: All expr must have either the same or a compatible data type.
Usage Notes
If any of the argument values is
NULL,NULLis returned.When expr are strings, they are compared using nonpadded comparison semantics.
The string comparison is based on the numeric codes of the characters in the database character set and is performed for entire strings treated as a sequence of bytes, and not character by character.
Examples
sql
select col1, col2, col3, greatest(col1, col2, col3)
from
( select 7 as col1, 3 as col2, 4 as col3
union all select 9 as col1, 1 as col2, 9 as col3
union all select -1 as col1, -6 as col2, -99 as col3
union all select 0 as col1, NULL as col2, 100 as col3);txt
+---------+---------+---------+--------------------------- +
| COL1 | COL2 | COL3 | GREATEST(COL1, COL2, COL3) |
+---------+---------+---------+--------------------------- +
| 7 | 3 | 4 | 7 |
| 9 | 1 | 9 | 9 |
| -1 | -6 | -99 | -1 |
| 0 | NULL | 100 | NULL |
+---------+---------+---------+--------------------------- +sql
select col1, col2, col3, greatest(col1, col2, col3)
from
( select '7.77' as col1, 3 as col2, 4 as col3
union all select '9' as col1, 1.33 as col2, 9 as col3
union all select '-1' as col1, -6 as col2, -99 as col3
union all select '7.77' as col1, 1.3333 as col2, 100 as col3);txt
+-------+---------------------+------+----------------------------+
| COL1 | COL2 | COL3 | GREATEST(COL1, COL2, COL3) |
+-------+---------------------+------+----------------------------+
| 7.77 | 3 | 4 | 7.77 |
| 9 | 1.33 | 9 | 9 |
| -1 | -6 | -99 | -99 |
| 7.77 | 1.3333000000000002 | 100 | 7.77 |
+-------+---------------------+------+----------------------------+sql
select col1, col2, col3, greatest(col1, col2, col3)
from
( select 'Alpha' as col1, 'Betta' as col2, 'Gamma' as col3
union all select 'A' as col1, 'B' as col2, 'C' as col3
union all select 'A' as col1, 'B' as col2, ' C' as col3
union all select 'C' as col1, 'B' as col2, 'A' as col3
union all select 'Long' as col1, 'Longer' as col2, 'Long(very)' as col3);txt
+-------+--------+------------+----------------------------+
| COL1 | COL2 | COL3 | GREATEST(COL1, COL2, COL3) |
+-------+--------+------------+----------------------------+
| Alpha | Betta | Gamma | Gamma |
| A | B | C | C |
| A | B | C | B |
| C | B | A | C |
| Long | Longer | Long(very) | Longer |
+-------+--------+------------+----------------------------+