SQL/MySQL
[MySQL] MariaDB 정렬순서 만들기 (Query)
http://portfolio.wonpaper.net
2024. 7. 29. 13:50
기존에 사용하고 있는 Board 테이블이 있다고 하자.
그런데, 잘 쓰고 있는데 갑자기 각각의 레코드마다 내가 원하는 글만 정렬순서번호를 넣어서 그 순서대로 Select 하고 싶을때, 아래와 같은 쿼리문을 활용하면 된다.
[ 기존 단순 쿼리 ]
Select * from Board order by no DESC
Board 테이블에는 별도의 정렬 칼럼이 없었다.
sort1 명으로 int 형으로 추가해두었다.
그리고, 아래와 같이 쿼리문을 아래와 같이 한다면,
Select * from Board order by sort1 ASC, no DESC
sort1 이 0인값이 먼저 순서대로 나와버린다.
다시, 쿼리문을 아래와 같이 수정해보자.
Select * from Board order by
CASE WHEN sort1 = 0 THEN 999999 ELSE sort1 END ASC,
no DESC
Case 문으로 0일때는 아주 큰값으로 대체하고 정렬하면 깔끔하게 이용하면 되겠다.