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, 2007🔥, 0💬
Popular Posts:
What Are the Basic Features of a Trigger in SQL Server? Since a SQL Server trigger is a really an ev...
How To Concatenate Two Character Strings Together in SQL Server Transact-SQL? Concatenating two char...
How To Count Rows with the COUNT(*) Function in SQL Server? If you want to count the number of rows,...
How To Query Tables and Loop through the Returning Rows in MySQL? The best way to query tables and l...
How To List All Stored Procedures in the Current Database in SQL Server Transact-SQL? If you want to...