Collections:
GREATEST() - Finding the Greatest/Maximum Value
How to find the greatest (maximum) value of a given list of values using the GREATEST() function?
✍: FYIcenter.com
GREATEST(val1, val2, ...) is a MySQL built-in function that
returns the greatest (maximum) value of a given list of values.
For example:
SELECT GREATEST(70, 89, 73, 99, 101, 110, 116, 101, 114);
-- +---------------------------------------------------+
-- | GREATEST(70, 89, 73, 99, 101, 110, 116, 101, 114) |
-- +---------------------------------------------------+
-- | 116 |
-- +---------------------------------------------------+
SELECT GREATEST('Grape', 'Orange', 'Banana', 'Apple');
-- +------------------------------------------------+
-- | GREATEST('Grape', 'Orange', 'Banana', 'Apple') |
-- +------------------------------------------------+
-- | Orange |
-- +------------------------------------------------+
If the arguments comprise a mix of multiple data types, GREATEST() converts them to the same data type using the following rules:
Here are examples with arguments of mix data types:
SELECT GREATEST(70, 89, 73, 99, 101, 'Banana', 'Apple');
-- +--------------------------------------------------+
-- | GREATEST(70, 89, 73, 99, 101, 'Banana', 'Apple') |
-- +--------------------------------------------------+
-- | Banana |
-- +--------------------------------------------------+
SELECT GREATEST(TRUE, 70, 89, NULL, 'Banana', 'Apple');
-- +-------------------------------------------------+
-- | GREATEST(TRUE, 70, 89, NULL, 'Banana', 'Apple') |
-- +-------------------------------------------------+
-- | NULL |
-- +-------------------------------------------------+
SELECT GREATEST(NOW(), 'Yesterday'), GREATEST('2023-12-16', 'Yesterday');
-- +------------------------------+-------------------------------------+
-- | GREATEST(NOW(), 'Yesterday') | GREATEST('2023-12-16', 'Yesterday') |
-- +------------------------------+-------------------------------------+
-- | 2023-12-16 18:19:27.000000 | Yesterday |
-- +------------------------------+-------------------------------------+
SELECT GREATEST(NOW(), '2099-12-01', CURRENT_TIMESTAMP());
-- +----------------------------------------------------+
-- | GREATEST(NOW(), '2099-12-01', CURRENT_TIMESTAMP()) |
-- +----------------------------------------------------+
-- | 2099-12-01 00:00:00 |
-- +----------------------------------------------------+
SELECT GREATEST(JSON_ARRAY(70, 89), JSON_ARRAY('70', '89'));
-- +------------------------------------------------------+
-- | GREATEST(JSON_ARRAY(70, 89), JSON_ARRAY('70', '89')) |
-- +------------------------------------------------------+
-- | [70, 89] |
-- +------------------------------------------------------+
Reference information of the GREATEST() function:
GREATEST(val1, val2, ...): max Returns the greatest (maximum) value of a given list of values. Arguments, return value and availability: val1, val2, ...: Two or more values to be examined. max: Return value. The maximum value of multiple values. Available since MySQL 4.0.
Related MySQL functions:
⇒ IF() - Conditional Value Selection
⇐ GET_LOCK() - Requesting User Defined Lock
2026-07-13, 1721🔥, 0💬
Popular Posts:
What Happens If the Imported Table Already Exists in Oracle? If the import process tries to import a...
How To Start MySQL Server in MySQL? If you want to start the MySQL server, you can run the "mysqld" ...
How To Create a Table Index in Oracle? If you have a table with a lots of rows, and you know that on...
How To Divide Query Output into Multiple Groups with the GROUP BY Clause in SQL Server? Sometimes, y...
What Are the Differences between DATE and TIMESTAMP in Oracle? The main differences between DATE and...