Programming/SQL / / 2021. 4. 28. 12:08

[MySQL]ORDER BY

728x90

sortNum이라는 컬럼에 NULL이 들어가 있습니다. 애초에 default 값을 넣어주면 이런 일이 없겠지만 모종의(?) 이유로 바꿀 수 없다고 가정을 합니다.

SELECT * FROM #table ORDER BY `sortNum` ASC

정렬을 하게 되면 NULL인 것들이 가장 위로 올라옵니다. 그렇다고 NULL인 애들을 아래로 보내자고 DESC를 하면 2, 1 이런 식으로 정렬이 될 테니 문제가 됩니다. 아래처럼 is null을 써서 처리하시면 됩니다.

SELECT * FROM #table ORDER BY `sortNum` IS NULL ASC, `sortNum` ASC

반응형

'Programming > SQL' 카테고리의 다른 글

테이블 구조(MySQL) 쿼리로 갖고 오기  (0) 2022.02.04
[MySQL]정렬 순서가 있는 게 먼저 나오고 없는 게 나중에...  (0) 2021.12.09
[MySQL]ORDER BY  (0) 2020.03.10
[MySQL]ORDER BY  (0) 2020.02.26
[MySQL]ORDER BY  (0) 2020.02.26