SELECT * FROM g5_member WHERE 1 ORDER BY mb_no ASC LIMIT 10
이렇게 mb_no로 먼저 정렬하고
또 위의 쿼리 결과를 또 mb_point DESC로 정렬하고 싶습니다.
이런 경우에는 어떻게 해야하나요?
SELECT * FROM g5_member WHERE 1 ORDER BY mb_no ASC, mb_point DESC LIMIT 10
이렇게 하니 mb_no로만 정렬되고 mb_point는 정렬이 안되네요.
|
답변 4개 / 댓글 2개
채택된 답변
+20 포인트
질문이 잘못되었네요
mb_no를 정렬한후
정렬한 값에서
mb_point로 정렬한다..
위의 쿼리가 맞습니다
그런데, 정렬한후 다시 정렬하고 싶다에 누락된건 범위 입니다.
지금 숨은 의도가.. 아마도. 10개로 구성된 페이지 내에서 라는 말이 누락된거 같은데
그러면 페이지라는 한정된 값이 등장해야 하거든요
그럴경우엔
order by mb_no asc limit 10
으로만 추출한후
다시 mb_point로 정렬을 하고 싶은것으로 보여집니다.
그러면 서브쿼리화시킨후 재조회대상이 되면 됩니다.
select * from (
SELECT * FROM g5_member
WHERE 1 ORDER BY mb_no ASC LIMIT 10
) x
order by mb_point DESC
SELECT * FROM g5_member WHERE 1 ORDER BY mb_point DESC, mb_no ASC LIMIT 10
이렇게 해보세요..
답변에 대한 댓글 2개
답변을 작성하려면 로그인이 필요합니다.