order by 정렬 0 7 3,118

by 신제트 [MySQL] [2023.01.13 16:38:06]


질문드립니다.

SELECT * FROM t1 ORDER BY idx DESC; 인데

k 라는 필드가 있습니다. idx DESC 로 하되 k의 값이 1인걸 그중에서도 먼저 위로나오게해주고싶습니다.

방법이 있을까요?

by 케를로스 [2023.01.13 17:59:41]
SELECT * FROM t1 ORDER BY idx DESC, k asc;

 


by 신제트 [2023.01.13 18:09:29]

k 의값이 0과 1 두개가있는데 1인것부터 나오게해야하는것도 가능한가요


by pajama [2023.01.14 08:29:45]

k값이 1,0만 있다면 desc로 하시면 되겠네요~


by 신제트 [2023.01.14 18:42:23]

해도 잘 잘못썻는지 잘안되서

쿼리문이 밑과 같나요?

SELECT * FROM t1 ORDER BY idx DESC, k desc; 이렇게하면 idx 내림차순으로 되면서 k가 1인것부터 정렬이 된다는 뜻일까요?


by pajama [2023.01.14 20:32:29]

네 맞습니다. 의도하신 결과가 안나오시는지요?


by 마농 [2023.01.16 08:55:12]

질문이 명확하지 않고 모호한 면이 있는데.
idx 보다 k 가 우선일 것 같다는 생각이 드네요.
 ORDER BY k DESC, idx DESC


by 신제트 [2023.01.16 12:52:24]

감사합니다 제가 이해를 잘못하고 있었습니다.

k=1 이라는 값을 조건을 걸어줘야만 한다고생각했는데

내림차순이니 1 이먼 저나오는거였네요..

알려주신 덕분에 해결했습니다.

답변 정말감사드립니다!

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