rollup 별칭 어떻게 설정할 수 있을까요?ㅜㅜ 0 1 1,470

by 오라클하자! [Toad] 오라클 sql [2020.04.21 19:58:34]


12.png (2,413Bytes)

안녕하세요 rollup을 사용하려고 하는데요 ... 별칭을 한정된 쿼리에서 정할 수 있는지 궁금하여 글남깁니다...

도와주시면 감사하겠습니다..

 

select

case

when(substr ~~~~~~~then '200cm 미만'

when(substr ~~~~~~~then '180~190'

when(substr ~~~~~~~then '170~180'

end as "구분"

, count(decode~~~~~~  as 1반

from 테이블

where 조건

group by

case

when(substr ~~~~~~~then '200cm 미만

when(substr ~~~~~~~then 180~190

when(substr ~~~~~~~then 170~180

이러한 구조에서 아래와  같은 학생수를 구하는 표를 출력하려고 하는데요 

합계를 표시하려고 그룹바이 뒤에 rollup을 쓰고 전체를 괄호치니 합계는 표 제일 끝에 나오는데... 합계라는 별칭이 있을 칸이 공백이였어요.. 그래서 혹시 아래 사진 표처럼 합계가 제일 위에 나오고 합계라는 별칭이 생길 수 있게 위 쿼리를 기준으로 수정할 수 있을까요? case when 안에 넣으려니 관계연산자가 없다고 나오고 ㅜㅜ

 

by 마농 [2020.04.21 20:46:26]

1. 질문하신 별칭은
 - 별칭이라기 보다는 널값 대체에 해당됩니다.
 - NVL(표현식, '합계')
2. 질문하신 정렬은
 - GROUPING(표현식) 을 이용해 정렬 할 수 있는데...
 - 표현식이 너무 복잡하네요.
 - 지금도 group by 와 select 절에서 2번 사용되는데
 - 정렬까지 하려면 3번 사용해야 되네요.
 - 복잡한 표현식이 반복될 때는 차라리 인라인뷰를 이용해서 쿼리를 간결하게 하세요.
3. 복잡한 표현식 부분은
 - 좀 더 간결하게 가다듬을 수 있을 것 같습니다.
 - 쿼리를 보여주세요.
4. 불분명한 표현
 - 200 미만? 맞나요?
 - 200 초과나 200 이상 이 맞을 듯?

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