티스토리 뷰
목차
반응형
오늘은 MySQL에서 null 값을 맨 뒤로 보내는 방법을 소개합니다.
주의 사항
이 포스트 내용은 MySQL 특성을 다루므로 다른 데이터베이스 제품과는 차이가 있습니다. 같은 문제여도 대응 방법이 다를 수 있습니다.
정렬하면 null이 먼저 앞으로 온다
기본 동작은 정렬 후 null이 앞으로 옵니다. 먼저 만나게 돼요.
아래와 같이, null 에 대해 아무것도 고려하지 않고 order by (정렬)하면, null이 먼저 표시됩니다.
1 2 3 4 5 6 7 8 9 10 11 12 | mysql> SELECT id, display_order -> FROM items -> ORDER BY display_order; +----+---------------+ | id | display_order | +----+---------------+ | 1 | NULL | | 2 | 1 | | 3 | 2 | | 4 | 3 | +----+---------------+ | cs |
이럴 경우 null을 뒤로 보내고 싶을 때 어떻게 할까요? 이게 본 포스팅 주제입니다.
정렬 시, null 값은 뒤로 보내기
null이 맨 뒤에 위치하려면 IS NULL ASC 를 사용합니다.
1 2 3 4 5 6 7 8 9 10 11 12 | mysql> SELECT id, display_order -> FROM items -> ORDER BY display_order IS NULL ASC, display_order; +----+---------------+ | id | display_order | +----+---------------+ | 2 | 1 | | 3 | 2 | | 4 | 3 | | 1 | NULL | +----+---------------+ | cs |
여기서는 ORDER BY display_order IS NULL ASC를 추가함으로써, null이 맨 뒤로 갑니다.
마지막으로
알아두면 mysql 개발 효율이 조금 올라갈지도 몰라 TIP이라고 생각해 포스팅했습니다.
끝까지 읽어 주셔서 감사합니다!
반응형