그룹 및 정렬 질문입니다! 0 2 807

by mjee [MySQL] 정렬 그룹 [2018.05.30 15:20:06]


 

안녕하세요..

테이블 정렬에서 난관을 겪고있습니다 

아래 질문대로 정렬이 안된다면 DB입력 방식을 바꿔야될듯합니다..

아래 조건대로 정렬이 가능한지 봐주시면 감사하겠습니다.

 

 

level seq name id count
1 1 모바일게임 mobile_game 200
1 2 LG lg 150
0 1 게임 null 300
1 1 온라인게임 online_game 100
0 2 프로야구 null 200
1 2 두산 doosan 50

위와 같은 테이블을 아래와 같이 정렬을 하려고 합니다.

 

level seq name id count
0 1 게임 null 300
1 1 모바일게임 mobile_game 200
1 1 온라인게임 online_game 100
0 2 프로야구 null 200
1 2 LG lg 150
1 2 두산 doosan 50

 

조건 1 : level이 0 인 로우 중 count 내림차순 정렬

조건 2 : 정렬된 level = 0 의 seq와 같은 seq를 가진 나머지 로우들을 그룹

조건 3 : 그룹 내 count 내림차순 정렬

 

이것이 가능할까요?

DB는 mysql 사용중입니다.

모두 더운 날씨에 건강 조심하시기 바라겠습니다.

 

즐거운하루되세요

by 마농 [2018.05.30 16:02:26]

예약어인 level 이나 count 등을 컬럼명으로 사용하는 것은 좋지 않습니다.
lv 와 cnt 로 변경하여 작성했습니다.
 

SELECT b.*
  FROM test1 a
 INNER JOIN test1 b
    ON a.seq = b.seq
 WHERE a.lv = 0
 ORDER BY a.cnt DESC
        , b.seq
        , b.lv
        , b.cnt DESC
        , b.id
;

 


by mjee [2018.05.31 00:05:47]

감사합니다! .컬럼명도 참고하여 고치겠습니다

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입