기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
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| +---+-----+----+