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

반응형