mirror of
https://github.com/elastic/elasticsearch.git
synced 2025-04-25 23:57:20 -04:00
* Source commands * Missing word * Processing commands * Apply suggestions from code review Co-authored-by: Alexander Spies <alexander.spies@elastic.co> * Review feedback * Add sort detail for mv * More review feedback --------- Co-authored-by: Alexander Spies <alexander.spies@elastic.co>
61 lines
1.4 KiB
Text
61 lines
1.4 KiB
Text
[discrete]
|
|
[[esql-sort]]
|
|
=== `SORT`
|
|
|
|
**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]
|
|
----
|