ORDER BY 절 - Amazon OpenSearch Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

ORDER BY 절

참고

이 SQL 명령을 지원하는 AWS 데이터 소스 통합을 확인하려면 섹션을 참조하세요지원되는 OpenSearch SQL 명령 및 함수.

ORDER BY 절은 사용자 지정 순서로 정렬된 방식으로 결과 행을 반환하는 데 사용됩니다. SORT BY 절과 달리이 절은 출력의 총 순서를 보장합니다.

구문

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

Parameters

  • ORDER 작성자

    행을 정렬하는 데 사용되는 선택적 파라미터 sort_direction 및와 함께 쉼표로 구분nulls_sort_order된 표현식 목록을 지정합니다.

  • sort_direction

    선택적으로 행을 오름차순 또는 내림차순으로 정렬할지 여부를 지정합니다.

    정렬 방향의 유효한 값은 ASC 오름차순 및 DESC 내림차순입니다.

    정렬 방향이 명시적으로 지정되지 않은 경우 기본적으로 행은 오름차순으로 정렬됩니다.

    구문: [ ASC | DESC ]

  • nulls_sort_order

    선택적으로 NULL 값이 값이NULL 아닌 값 이전/이후에 반환되는지 여부를 지정합니다.

    null_sort_order가 지정되지 않은 경우 NULLs 정렬 순서가 인 경우 먼저 정렬ASC하고 정렬 순서가 인 경우 마지막으로 NULLS 정렬합니다DESC.

    1. NULLS FIRST이 지정되면 정렬 순서에 관계없이 NULL 값이 먼저 반환됩니다.

    2. NULLS LAST이 지정되면 정렬 순서에 관계없이 NULL 값이 마지막으로 반환됩니다.

    구문: [ NULLS { FIRST | LAST } ]

예제

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| +---+-----+----+