안녕하세요.. 오라클 db 에서 아래와 같이 sql 문장을 실행하면 첨부화일과 같이 결과값이 나오는데요..
결과를 년도별, 분기별로 group 지어서 연봉평균을 sum 하고 싶은데..
group by 에서 계속 에러가 납니다.. 어떻게 해야할지 잘 모르겠네요~~~
도와주시면 정말 고맙겠습니다~~ Please~~~ ^^
====================
SELECT TO_CHAR(HIREDATE,'YYYY') AS 년도
, TO_CHAR(HIREDATE,'Q') AS 분기
, SAL AS 연봉평균
FROM EMP
ORDER BY SAL DESC;
====================
SELECT TO_CHAR(HIREDATE,'YYYY') AS 년도
, TO_CHAR(HIREDATE,'Q') AS 분기
, sum(SAL) AS 연봉평균
FROM EMP
group by TO_CHAR(HIREDATE,'YYYY') AS 년도
, TO_CHAR(HIREDATE,'Q') AS 분기
order by sal desc;
===> 에러 발생됨...
===============
GROUP BY 뒤에 AS 부분 빼세요.
SUM 은 합계 AVG 는 평균
ORDER BY sal 도 틀렸네요.
ORDER BY SUM(sal)
ORDER BY AVG(sal)
ORDER BY 연봉평균
마농님.. 고맙습니다.. 실행 후 결과 말씀 드릴께요~~
행복한 하루되세요~~~^^
SELECT TO_CHAR(HIREDATE,'YYYY') AS 년도,
TO_CHAR(HIREDATE,'Q') AS 분기,
AVG(SAL) AS 연봉평균
FROM EMP
GROUP BY TO_CHAR(HIREDATE,'YYYY'), TO_CHAR(HIREDATE,'Q')
ORDER BY AVG(SAL) ;
==> 이렇게 했는데.. 에러가 발생됩니다..
ORA099942 : 테이블 또는 뷰가 존재하지 않습니다.
00941 - "TABLE OR VIEW DOES NOT EXIST"
73행 19열에서 오류발생
테이블이 없다는데요?
그런데 73행에서 오류네요? 짧은 쿼리인데요?
실행 방법이 잘못된게 아닌지?
마농님.. 친절한 답변 감사합니다..
제가 외부 출장와 있는데.. 저녁에 한번 해보고 결과 올릴께요~~~
고맙습니다.. ^^
SELECT TO_CHAR(HIREDATE,'YYYY') AS 년도, TO_CHAR(HIREDATE,'Q') AS 분기, AVG(ROUND(SAL,1)) AS 연봉평균 FROM EMP GROUP BY TO_CHAR(HIREDATE,'YYYY'), TO_CHAR(HIREDATE,'Q') ORDER BY AVG(SAL); 마농님.. 알려주신데로 하여 잘 해결하였습니다.. 고맙고 감사합니다.. ^^
AVG 와 ROUND 의 순서가 바뀌었고
- ROUND(AVG(sal), 1)
정렬은 DESC
예.. 마농님.. 맞네요~~ 세세한 부분까지~~~ 정말 고맙습니다~~~