123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- [discrete]
- [[esql-sort]]
- === `SORT`
- The `SORT` processing command sorts a table on one or more columns.
- **Syntax**
- [source,esql]
- ----
- SORT column1 [ASC/DESC][NULLS FIRST/NULLS LAST][, ..., columnN [ASC/DESC][NULLS FIRST/NULLS LAST]]
- ----
- *Parameters*
- `columnX`::
- The column to sort on.
- *Description*
- The `SORT` processing command sorts a table on one or more columns.
- The default sort order is ascending. Use `ASC` or `DESC` to specify an explicit
- sort order.
- Two rows with the same sort key are considered equal. You can provide additional
- sort expressions to act as tie breakers.
- Sorting on multivalued columns uses the lowest value when sorting ascending and
- the highest value when sorting descending.
- By default, `null` values are treated as being larger than any other value. With
- an ascending sort order, `null` values are sorted last, and with a descending
- sort order, `null` values are sorted first. You can change that by providing
- `NULLS FIRST` or `NULLS LAST`.
- *Examples*
- [source,esql]
- ----
- include::{esql-specs}/docs.csv-spec[tag=sort]
- ----
- Explicitly sorting in ascending order with `ASC`:
- [source,esql]
- ----
- include::{esql-specs}/docs.csv-spec[tag=sortDesc]
- ----
- Providing additional sort expressions to act as tie breakers:
- [source,esql]
- ----
- include::{esql-specs}/docs.csv-spec[tag=sortTie]
- ----
- Sorting `null` values first using `NULLS FIRST`:
- [source,esql]
- ----
- include::{esql-specs}/docs.csv-spec[tag=sortNullsFirst]
- ----
|