MySQL | NULL 값 정렬 순서 변경하기
ORDER BY 절에서 정렬을 하다보면 값이 NULL 인 데이터가 맨위에 표시되는 경우가 있다.
이를 해결하는 방법에 대해 아래 보겠다.
문법
SELECT "필드"
FROM "테이블명"
ORDER BY "필드" IS NULL [ASC|DESC]
예제
store_information 테이블
region_name | store_name | sales |
---|---|---|
West | Los Angeles | 1500 |
West | San Diego | 250 |
West | Los Angeles | |
East | Boston | 700 |
SQL 예제) NULL이 맨위로 정렬된다.
위와 같은 테이블이 있다고 했을 때, 아래와 같이 SQL문을 작성하고 실행하면,
SELECT store_name, sales
FROM store_information
ORDER BY sales ASC
위와 같이 NULL값이 맨위로 정렬된다.
store_name | sales |
---|---|
Los Angeles | NULL |
San Diego | 250 |
Boston | 700 |
Los Angeles | 1500 |
SQL 예제) NULL을 맨아래로 정렬한다.
NULL 값을 뒤로 정렬시키기 위해서는 아래와 같이 SQL문을 작성하고 실행하면,
SELECT store_name, sales
FROM store_information
ORDER BY sales IS NULL ASC, sales ASC
위와 같이 NULL값이 맨아래로 정렬된다.
store_name | sales |
---|---|
San Diego | 250 |
Boston | 700 |
Los Angeles | 1500 |
Los Angeles | NULL |
최종 수정 : 2019-12-22