학원에서 숙제를 내줫는데
도저히 해결할 방법이 생각이 나질 않아 문제입니다...
SELECT rank() over(order by time_nu) rnk
,생산시간
FROM t_worktime
이렇게 하면 RNK라는 컬럼을 만들고 생산시간컬럼 기준으로 오름차순으로
짧게 걸리는 생산시간부터 쭈욱 나열할 수 있는데요
이 데이터가 정답화면입니다.
근데 문제는 두가지 방법을 더 찾아내라고 하셔서요
ROWNUM을 이용하여 짧은 생산시간별로 나열하는것과
DECODE를 사용해서 어느 하나를 기준으로 생산시간이 짧은사람부터 나오게 하는것을 찾으라고 합니다...
여기서 질문은
1. ROWNUM을 사용해서 컬럼을 만들면 ORDER BY로 생산시간을 정렬했을때 행숫자가 무작위로 바뀌어서
이걸 ORDER BY에 영향을 받지 않게 하려면 어떻게 처리해야 할까요?
2. 또 DECODE를 사용해서 위와 같은 결과를 가져올 수 있는 방법이 없을까요???
1. order by 는 결과 레코드셋을 정렬하는 구문이고요.. ROWNUM은 레크드셋안에 특정 컬럼에 대해 순번을 매기는거고..
order by 를 뭘로 하던간에 rownum에는 영향이 없을텐데요..
2. DECODE가 먼지 ㅠ