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, 2044🔥, 0💬
Popular Posts:
What Happens If the UPDATE Subquery Returns Multiple Rows in SQL Server? If a subquery is used in a ...
How To Query Tables and Loop through the Returning Rows in MySQL? The best way to query tables and l...
How To Get Year, Month and Day Out of DATETIME Values in SQL Server Transact-SQL? You can use DATEPA...
How To Replace Given Values with NULL using NULLIF() in SQL Server Transact-SQL? Sometime you want t...
Where to find answers to frequently asked questions I am new to Oracle database. Here is a list of f...