반응형
- 단계 1: 데이터구조
SELECT select_list FROM table ORDER BY column_1 ASC, column_2 DESC;
- 단계 2: 오름차순 정렬
- SQL> SELECT name, milliseconds, albumid FROM tracks ORDER BY albumid ASC
(albumid를 기준으로 오름차순(ASC)정렬해준다.)
- 단계 3: 오름차순-내림차순 함께
- SQL> SELECT name, milliseconds, albumid FROM tracks ORDER BY albumid ASC, milliseconds DESC;
(albumid를 기준으로 오름차순(ASC)정렬을 한 후 albumid정렬 안에서 milliseconds를 내림차 순 기준으로 정렬한다.)
- 단계 4: 필드 위치로 정렬
- 참고: ANSI에서는 비권장
- SQL> SELECT name, milliseconds, albumid FROM tracks ORDER BY 3,2;
(select에서 선택된 컬럼의 위치를 숫자로 기준을 정해 정렬 3은 albumid 2는 milliseconds이며 인덱스를 1부터 세어준다.)
- 단계 5: NULL 다루기
- 주의: SQL에서는 NULL이 가장 작은 값(정렬시 위치로 확인가능)
- 주의: NULL은 자신과 비교 불가 (Null과 Null을 비교하면 항상 같다고 나오지 않는다.)
- 참고: SQLite 3.30.0에서는 NULLS FIRST(널을 가장 먼저 보이기) 와 NULLS LAST(널을 가장 나중에 보이기) 옵션을 ORDER BY에 추가
- SQL> SELECT TrackId, Name, Composer FROM tracks ORDER BY Composer; ->null이 가장 작기 때문에 먼저나옴
반응형
'DB' 카테고리의 다른 글
DISTINCT 중복제거 (0) | 2022.03.03 |
---|---|
MYSQL snake case / JAVA Camle Case 사용하기/ 오류 (0) | 2021.07.17 |
Maria DB 컬럼명 변경하기 (0) | 2021.07.13 |
아마존 리눅스 2 HostName변경하기 (0) | 2021.04.12 |
오라클 연동 오류 [ORA-01017: invalid username/password; logon denied] 해결방법 (0) | 2021.01.15 |