﻿---
title: ES|QL GREATEST function
description: 
url: https://www.elastic.co/elastic/docs-builder/docs/3008/reference/query-languages/esql/functions-operators/conditional-functions-and-expressions/greatest
products:
  - Elasticsearch
---

# ES|QL GREATEST function
## Syntax

![Embedded](https://www.elastic.co/elastic/docs-builder/docs/3008/reference/query-languages/esql/images/functions/greatest.svg)


## Parameters

<definitions>
  <definition term="first">
    First of the columns to evaluate.
  </definition>
  <definition term="rest">
    The rest of the columns to evaluate.
  </definition>
</definitions>


## Description

Returns the maximum value from multiple columns. This is similar to [`MV_MAX`](https://www.elastic.co/elastic/docs-builder/docs/3008/reference/query-languages/esql/functions-operators/mv-functions/mv_max) except it is intended to run on multiple columns at once.
<note>
  When run on `keyword` or `text` fields, this returns the last string in alphabetical order. When run on `boolean` columns this will return `true` if any values are `true`.
</note>


## Supported types


| first      | rest       | result     |
|------------|------------|------------|
| boolean    | boolean    | boolean    |
| boolean    |            | boolean    |
| date       | date       | date       |
| date_nanos | date_nanos | date_nanos |
| double     | double     | double     |
| integer    | integer    | integer    |
| integer    |            | integer    |
| ip         | ip         | ip         |
| keyword    | keyword    | keyword    |
| keyword    |            | keyword    |
| long       | long       | long       |
| long       |            | long       |
| text       | text       | keyword    |
| text       |            | keyword    |
| version    | version    | version    |


## Example

```esql
ROW a = 10, b = 20
| EVAL g = GREATEST(a, b)
```


| a:integer | b:integer | g:integer |
|-----------|-----------|-----------|
| 10        | 20        | 20        |