답변 2개 / 댓글 4개
채택된 답변
+20 포인트
2017-09-26 (화) 07:52:24
SELECT * FROM #table ORDER BY IF(column_5 < 1, column_1, column_5)
답변에 대한 댓글 2개
2017-10-01 (일) 18:21:29
2017-10-02 (월) 18:03:25
http://nyaongii.dothome.co.kr/sir.png
칼럼 형식이 어떤 건지 모르겠지만 안 된다 하셔서 제 계정에 테이블을 생성해서 테스트했습니다.
테이블명은 tt
칼럼1 : idx
칼럼2 : title
칼럼3 : par
위에 캡쳐된 이미지 보면 아시겠지만 정렬은 말씀하신 대로 나옵니다.
column_5 칼럼 형식이 어떤 건지 모르겠지만 int로 바꿔서 테스트 해 보시기 바랍니다.
칼럼 형식이 어떤 건지 모르겠지만 안 된다 하셔서 제 계정에 테이블을 생성해서 테스트했습니다.
테이블명은 tt
칼럼1 : idx
칼럼2 : title
칼럼3 : par
위에 캡쳐된 이미지 보면 아시겠지만 정렬은 말씀하신 대로 나옵니다.
column_5 칼럼 형식이 어떤 건지 모르겠지만 int로 바꿔서 테스트 해 보시기 바랍니다.
마르스컴퍼니
2017-09-25 (월) 16:44:37
지금의 구조를 조금 수정하는 게 좋을 듯 합니다.
원글의 경우에도 column_5를 채워줍니다. (원글인 경우에는 column_1 과 동일값)
1번글은 column_1 도 1, column_5 도 1
2번글은 column_1 도 2, column_5 도 2
...
6번글은 column_1 은 6, column_5 는 2
7번글은 column_1 은 7, column_5 는 1
select *
from Table
order by column_5, column_1
로 소팅이 가능합니다.
관련글이 2개이상이라면, 관련글 표시 순서 칼럼 추가 생성을 생각해 볼 수 있습니다.
답변에 대한 댓글 2개
2017-09-25 (월) 23:07:20
기존 로직의 order 첫번째 요소가 column_1으로 되어있기 때문에 이를 바꾸게 된다면 기존 틀을 모두 바꿔야 하는 상황입니다..
마르스컴퍼니
2017-09-26 (화) 01:49:27
그런 상황이라면.. 저는 잘 모르겠습니다.
새로 알아보시는 게 좋을 듯 합니다.
새로 알아보시는 게 좋을 듯 합니다.
답변을 작성하려면 로그인이 필요합니다.
위 코드로 적용해보니 우선 column_5 값이 없는 원본글들이 먼저 쭉 출력되고, 맨 나중에 column_5 값이 있는 관련글들이 출력됩니다.