안녕하세요.
partition by 를 아래와 같이 사용하고 있습니다.
ROW_NUMBER() over(PARTITION BY 필드1, 필드2 ORDER BY 필드1, 필드2, 필드3) num
그런데 문제는 order by 가 상황에 따라서 바뀌어야 합니다..
예를 들어 case when flag = 'A' 일때는 order by 필드1, 필드2, 필드3 로
그 외 일때는 order by 필드3, 필드1, 필드2 로 설정하고 싶습니다.
위 문장에서
ROW_NUMBER() over(
PARTITION BY 필드1, 필드2 ORDER BY CASE WHEN flag='A' then 필드1, 필드2, 필드3 ELSE 필드3, 필드1, 필드2 end) num
이렇게 사용하고 싶은데
이런식으로 사용할수가 없는것 같습니다.
order by 에 case when then 문장에는 필드하나만 올 수 있나 봅니다.
저렇게 order by 를 할수 있는 방법은 없는지요 ?