Select *
From test
where uid in (45796,45764,45804,45761,45638,43006)
쿼리가 위처럼인데, uid값이 저렇게 지정된것만 지정순으로 우선으로,
나머지는 uid desc로 소트할건데요. 위에 지정된게 6개지만, 숫자는 가변입니다.
저 지정된 값과 순서로만으로 정렬할 방법이 있을까요?
Order by case 문을 사용하시면 됩니다~
SELECT * FROM test ORDER BY uid IN (45796,45764,45804,45761,45638,43006) DESC , INSTR( CONCAT(',', '45796,45764,45804,45761,45638,43006', ',') , CONCAT(',', x, ',') ) ;