Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
SORTClausola BY
Nota
Per vedere quali integrazioni di fonti di AWS dati supportano questo SQL comando, vedi. OpenSearch SQLComandi e funzioni supportati
La SORT BY
clausola viene utilizzata per restituire le righe dei risultati ordinate all'interno di ciascuna partizione nell'ordine specificato dall'utente. Quando c'è più di una partizione SORT BY
può restituire un risultato parzialmente ordinato. Questo è diverso dalla ORDER BY
clausola che garantisce un ordine totale dell'output.
Sintassi
SORT BY { expression [ sort_direction | nulls_sort_order ] [ , ... ] }
Parametri
-
SORTDI
Specifica un elenco di espressioni separate da virgole insieme ai parametri opzionali sort_direction e nulls_sort_order che vengono utilizzati per ordinare le righe all'interno di ciascuna partizione.
-
sort_direction
Facoltativamente specifica se ordinare le righe in ordine crescente o decrescente.
I valori validi per la direzione di ordinamento sono per l'ordine crescente e
ASC
per il decrescente.DESC
Se la direzione di ordinamento non è specificata in modo esplicito, per impostazione predefinita le righe vengono ordinate in modo crescente.
Sintassi:
[ ASC | DESC ]
-
nulls_sort_order
Specifica facoltativamente se NULL i valori vengono restituiti prima/dopo valori diversi da quelli. NULL
Se non
null_sort_order
è specificato, NULLs ordina prima se il criterio di ordinamento èASC
e ordina per ultimo se il NULLS criterio di ordinamento è.DESC
1. Se
NULLS FIRST
è specificato, NULL i valori vengono restituiti per primi indipendentemente dal tipo di ordinamento.2. Se
NULLS LAST
viene specificato, NULL i valori vengono restituiti per ultimi indipendentemente dal tipo di ordinamento.Sintassi:
[ NULLS { FIRST | LAST } ]
Examples (Esempi)
CREATE TABLE person (zip_code INT, name STRING, age INT); INSERT INTO person VALUES (94588, 'Shirley Rodriguez', 50), (94588, 'Juan Li', 18), (94588, 'Anil K', 27), (94588, 'John D', NULL), (94511, 'David K', 42), (94511, 'Aryan B.', 18), (94511, 'Lalit B.', NULL); -- Sort rows by `name` within each partition in ascending manner SELECT name, age, zip_code FROM person SORT BY name; +------------------+----+--------+ | name| age|zip_code| +------------------+----+--------+ | Anil K| 27| 94588| | Juan Li| 18| 94588| | John D|null| 94588| | Shirley Rodriguez| 50| 94588| | Aryan B.| 18| 94511| | David K| 42| 94511| | Lalit B.|null| 94511| +------------------+----+--------+ -- Sort rows within each partition using column position. SELECT name, age, zip_code FROM person SORT BY 1; +----------------+----+----------+ | name| age|zip_code| +------------------+----+--------+ | Anil K| 27| 94588| | Juan Li| 18| 94588| | John D|null| 94588| | Shirley Rodriguez| 50| 94588| | Aryan B.| 18| 94511| | David K| 42| 94511| | Lalit B.|null| 94511| +------------------+----+--------+ -- Sort rows within partition in ascending manner keeping null values to be last. SELECT age, name, zip_code FROM person SORT BY age NULLS LAST; +----+------------------+--------+ | age| name|zip_code| +----+------------------+--------+ | 18| Juan Li| 94588| | 27| Anil K| 94588| | 50| Shirley Rodriguez| 94588| |null| John D| 94588| | 18| Aryan B.| 94511| | 42| David K| 94511| |null| Lalit B.| 94511| +--------------+--------+--------+ -- Sort rows by age within each partition in descending manner, which defaults to NULL LAST. SELECT age, name, zip_code FROM person SORT BY age DESC; +----+------------------+--------+ | age| name|zip_code| +----+------------------+--------+ | 50| Shirley Rodriguez| 94588| | 27| Anil K| 94588| | 18| Juan Li| 94588| |null| John D| 94588| | 42| David K| 94511| | 18| Aryan B.| 94511| |null| Lalit B.| 94511| +----+------------------+--------+ -- Sort rows by age within each partition in descending manner keeping null values to be first. SELECT age, name, zip_code FROM person SORT BY age DESC NULLS FIRST; +----+------------------+--------+ | age| name|zip_code| +----+------------------+--------+ |null| John D| 94588| | 50| Shirley Rodriguez| 94588| | 27| Anil K| 94588| | 18| Juan Li| 94588| |null| Lalit B.| 94511| | 42| David K| 94511| | 18| Aryan B.| 94511| +--------------+--------+--------+ -- Sort rows within each partition based on more than one column with each column having -- different sort direction. SELECT name, age, zip_code FROM person SORT BY name ASC, age DESC; +------------------+----+--------+ | name| age|zip_code| +------------------+----+--------+ | Anil K| 27| 94588| | Juan Li| 18| 94588| | John D|null| 94588| | Shirley Rodriguez| 50| 94588| | Aryan B.| 18| 94511| | David K| 42| 94511| | Lalit B.|null| 94511| +------------------+----+--------+