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