NAVER

질문 해빙 절 까지의 결과가
비공개 조회수 121 작성일2019.02.28
sql 질문드리빕니다. 사진 속
해빙 절 까지의 결과가
100
999 인데, oder by 절 이후 어떻게

999
100 이 되는 거죠? 


프로필 사진

답변자님,

정보를 공유해 주세요.

3 개 답변
2번째 답변
프로필 사진
copyNpaste
태양신
IT/인터넷업 데이터베이스 2위, C# 3위, 자바스크립트 25위 분야에서 활동
본인 입력 포함 정보
ORDER BY (CASE WHEN ID=999 THEN 0 ELSE ID END);

라는 구문은, 999를 맨 위로 올리는 구문 입니다.
쿼리 전체를 좀 수정해서 실행해 보면,

SELECT ID
     , CASE WHEN ID=999 THEN 0 ELSE ID END AS SORT
  FROM TBL
 GROUP BY ID
 HAVING COUNT(*) = 2
 ORDER BY SORT;

결과는 이렇게 나옵니다.
ID    SORT
999   0
100   100

즉, CASE WHEN 문을 해석해 보면,
"ID  가 999 이면 0을, 그 외에는 ID 자체를"
이라는 뜻이거든요.

그래서, 정렬할 때
"ID  가 999 이면 0을, 그 외에는 ID 자체를" 의 값으로 정렬
이기 때문에 999가 맨 위로 오게 되는 것 입니다.

2019.02.28.

  • 채택

    질문자가 채택한 답변입니다.

도움이 되었다면 UP 눌러주세요!
UP이 많은 답변일수록 사용자들에게 더 많이 노출됩니다.
1번째 답변
프로필 사진
삭제된 답변
작성자가 직접 삭제한 답변입니다.
2019.02.28.
3번째 답변
프로필 사진
삭제된 답변
작성자가 직접 삭제한 답변입니다.
2019.02.28.