mysql order by 질문드립니다 0 3 1,302

by 쿼리초보 [MySQL] 정렬 orderby order [2023.05.24 16:44:28]



1번 사진처럼 데이터가 들어있는데,

2번 사진처럼 정렬 하나, (2 1, 2 2) 튜플 2개는 맨 아래로 내리고 싶습니다!

어제부터 했는데 2번 사진처럼 정렬까지는 했는데 도저히 튜플 2개가 안 내려가서 질문 드립니다 ㅠㅠ

감사드립니다.

 

설명을 잘 못하여 전달이 잘못 될 수도 있으니 예시 남기겠습니다~~

2 3

2 4

2 5

3 1

3 2

3 3

3 4

3 5

1 1

1 2

1 3

1 4

1 5

2 1

2 2

순으로 정렬 하고 싶습니다!

by pajama [2023.05.24 20:03:59]

order by case로 해봤습니다~

with t (c1, c2) as (
select 1,1 union all
select 1,2 union all
select 1,3 union all
select 1,4 union all
select 1,5 union all
select 2,1 union all
select 2,2 union all
select 2,3 union all
select 2,4 union all
select 2,5 union all
select 3,1 union all
select 3,2 union all
select 3,3 union all
select 3,4 union all
select 3,5
)
select * from t
order by case when c1 = 2 and c2 > 2  then 1 
              when c1 = 3             then 2
              when c1 = 1             then 3
              else 99 end, c2

 


by 쿼리초보 [2023.05.25 08:13:09]

와..

잘 모르겠어서 (맨 아래 튜플 2개 제외 union all 맨 아래 튜플 2개)로 구현하려 했는데

진심으로 감사드립니다!!

설명이 많이 빈약했는데 알려주셔서 감사드립니다~


by 마농 [2023.05.25 09:32:00]
SELECT *
  FROM t
 ORDER BY CASE WHEN c1 = 1 OR (c1 = 2 AND c2 <= 2) THEN 2 ELSE 1 END, c1, c2
;

 

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