ORDERClause BY - Amazon OpenSearch Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

ORDERClause BY

Note

Pour savoir quelles intégrations de sources de AWS données prennent en charge cette SQL commande, consultez OpenSearch SQLCommandes et fonctions prises en charge.

La ORDER BY clause est utilisée pour renvoyer les lignes de résultats de manière triée dans l'ordre spécifié par l'utilisateur. Contrairement à la clause SORT BY, cette clause garantit un ordre total dans la sortie.

Syntaxe

ORDER BY { expression [ sort_direction | nulls_sort_order ] [ , ... ] }

Paramètres

  • ORDERPAR

    Spécifie une liste d'expressions séparées par des virgules ainsi que des paramètres sort_direction nulls_sort_order facultatifs utilisés pour trier les lignes.

  • direction_tri

    Spécifie éventuellement s'il faut trier les lignes par ordre croissant ou décroissant.

    Les valeurs valides pour le sens de tri sont ASC pour le sens ascendant et DESC pour le sens descendant.

    Si le sens de tri n'est pas explicitement spécifié, les lignes sont triées par défaut dans l'ordre croissant.

    Syntaxe : [ ASC | DESC ]

  • nulls_sort_order

    Spécifie éventuellement si NULL les valeurs sont renvoyées avant/après les NULL non-valeurs.

    Si null_sort_order n'est pas spécifié, triez d'abord si l'ordre de NULLs tri l'est ASC et triez en dernier si l'ordre de NULLS tri l'est. DESC

    1. Si cette NULLS FIRST option est spécifiée, NULL les valeurs sont renvoyées en premier, quel que soit l'ordre de tri.

    2. Si cette NULLS LAST option est spécifiée, NULL les valeurs sont renvoyées en dernier, quel que soit l'ordre de tri.

    Syntaxe : [ NULLS { FIRST | LAST } ]

Exemples

CREATE TABLE person (id INT, name STRING, age INT); INSERT INTO person VALUES (100, 'John', 30), (200, 'Mary', NULL), (300, 'Mike', 80), (400, 'Jerry', NULL), (500, 'Dan', 50); -- Sort rows by age. By default rows are sorted in ascending manner with NULL FIRST. SELECT name, age FROM person ORDER BY age; +-----+----+ | name| age| +-----+----+ |Jerry|null| | Mary|null| | John| 30| | Dan| 50| | Mike| 80| +-----+----+ -- Sort rows in ascending manner keeping null values to be last. SELECT name, age FROM person ORDER BY age NULLS LAST; +-----+----+ | name| age| +-----+----+ | John| 30| | Dan| 50| | Mike| 80| | Mary|null| |Jerry|null| +-----+----+ -- Sort rows by age in descending manner, which defaults to NULL LAST. SELECT name, age FROM person ORDER BY age DESC; +-----+----+ | name| age| +-----+----+ | Mike| 80| | Dan| 50| | John| 30| |Jerry|null| | Mary|null| +-----+----+ -- Sort rows in ascending manner keeping null values to be first. SELECT name, age FROM person ORDER BY age DESC NULLS FIRST; +-----+----+ | name| age| +-----+----+ |Jerry|null| | Mary|null| | Mike| 80| | Dan| 50| | John| 30| +-----+----+ -- Sort rows based on more than one column with each column having different -- sort direction. SELECT * FROM person ORDER BY name ASC, age DESC; +---+-----+----+ | id| name| age| +---+-----+----+ |500| Dan| 50| |400|Jerry|null| |100| John| 30| |200| Mary|null| |300| Mike| 80| +---+-----+----+