num = 1 인 놈을 조건에 넣어었는데 엉뚱하게 r_numbering 12345 이 놈이 나옵니다.;;;;;;;
원인을 모르겠습니다 ㅠㅠ
SELECT CONCAT(TRIM(r_numbering) , TRIM(TO_CHAR(r_cnt )))
FROM
(
SELECT R_NUMBERING, R_CNT, ROW_NUMBER() OVER(ORDER BY R_CNT DESC) AS NUM
FROM IF_RMS_ERP_PART_INPUT_INFO
WHERE TM_NO = 'EABUHU282789' AND R_CLASS <> '2' --취소가 안된 것.
)
WHERE NUM = 1;
by 우리집아찌
[2013.07.02 09:33:19]
r_cnt 값이 중복되는데요 ORDER BY 에 조건을 하나 추가하시는게 어떨까요?
by Vampirejk
[2013.07.02 09:35:59]
ORDERBYR_CNT DESC 여기에 조건을 추가하라는 말씀이신가요?
R_NUMBERING이 가장 큰 것이라고 조건을 주고 싶으면 어떻게 해야하나요?
by 아발란체
[2013.07.02 09:35:37]
위 데이타셋만 나오는 결과가 이상한데 아래 조회 질의를 보면 나올 여지가 충분합니다.
ROW_NUMBER() OVER()로 인해 r_numbering과 관계 없이 r_cnt를 역순 정렬하여 num 값을 재정의 하기 때문에 1234 값이 들어간 것이 over할 때 1이 되기 위한 기준을 잡아주셔야 할 것 같습니다.
by Vampirejk
[2013.07.02 09:36:54]
어떤 식으로 잡아줘야하는지 잘 모르겠습니다.
by 아발란체
[2013.07.02 09:42:40]
그 기준이 R_NUMBERING이 된다면 "OVER(ORDER BY R_CNT DESC)" 부분을 다음과 같이 변경하시면 됩니다. "OVER(ORDER BY TO_NUMBER(r_numbering) ASC, R_CNT DESC)"
by Vampirejk
[2013.07.02 10:01:32]
소중한 답변 감사드립니다. 잘 해결이 되었습니다. ^^
by 부쉬맨
[2013.07.02 09:50:10]
아발란체님이 말한거처럼하면되겟다잉.. 준기상!!
by Vampirejk
[2013.07.02 10:01:54]
^^ 잘 해결 되었습니다.
감사합니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.