Returns the lowest value observed in its arguments.

Lowest is determined by the collation rules of the data passed in.


This function is not to be confused with MIN, which is an aggregate function returning the lowest value in all rows in an aggregation.


LEAST ( expression, expression [, expression ...] )


  • expression: any number of expressions. This may be a column name, the result of another function, or a math operation.

Return Type

The lowest value, in the type of the input.

For example, if all arguments are integers, they are compared as integers. If one argument is a decimal type, they are compared as decimal types. If arguments are a mix of strings and numbers, they are compared as numbers. If an argument is a nonbinary string, the arguments are compared as nonbinary strings.


SELECT LEAST(1, 2, 3);
| LEAST(1, 2, 3) |
|              1 |
SELECT LEAST('a', 'b', '_', '9', 'c');
| LEAST('a', 'b', '_', '9', 'c') |
| 9                              |


Implicit Collation

When character_set_server is set to utf8, string literals with characters using 4-byte encoding are implicitly assigned binary collation and processed as a sequence of bytes rather than characters. This implicit conversion to binary collation causes string functions to return unexpected results. To avoid using implicit binary collation, either use explicit type casting or use database columns defined with the utf8mb4 character set.

For more information, refer to Implicit Collation in Special Cases.

Last modified: April 4, 2023

Was this article helpful?