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일때는 아주 큰값으로 대체하고 정렬하면 깔끔하게 이용하면 되겠다.