작성
·
125
0
안녕하세요, 현재 Analytic SQL을 듣고 있는 학생입니다.
집계(Aggregate) Analytic SQL 실습 - 03 강의 실습 중에
6:40부근에 Query문을
select *
,sum(sum_by_prod) over() as total_sum
,round(1.0*sum_by_prod/sum(sum_by_prod) over(),2) as ratio
from temp_01
위와 같이 작성하셨는데 sum(sum_by_prod) over ()를 total_sum으로 명명하였다면 다음 구문에서
round(1.0*sum_by_prod/total_sum,2) as ratio
으로 작성하여도 상관없을거 같은데 왜 실행되지 않는지 궁금합니다.
Dbeaver를 통해서 실행하면 Column이 없어서 실행되지 않는다고 "Error" 메시지가 발생하는데 어렴풋이 생각하면 Query가 실행되기 전이라 Column이 생성되지 않아서 돌아가지 않을수 있다고 생각은 하지만 이미 명명하였는데 왜 되지 않을까 라는 생각도 동시에 듭니다. 혹시 설명해주실 수 있으신가요? 항상 감사합니다.
답변 1
0
안녕하십니까,
round(1.0*sum_by_prod/total_sum,2) as ratio 를 round(1.0*sum_by_prod/total_sum,2) as ratio1 으로 이름을 바꿔 보시겠습니까?
그래도 안되면 전체 SQL을 여기에 올려봐 주십시요.
감사합니다.