bha*_*anu 0 sql oracle group-by
我想按部门编号和年龄选择平均工资,我使用了这个查询
SELECT
DEPARTMENT_NUMBER,
ROUND((MONTHS_BETWEEN(SYSDATE, BIRTHDAY)) / 12) AS AGE,
AVG(SALARY)
FROM
EMPLOYEE
GROUP BY
DEPARTMENT_NUMBER, AGE;
Run Code Online (Sandbox Code Playgroud)
但我收到错误:
ORA-00904:"年龄":标识符无效
您不能group by在Oracle中使用列别名.只需使用子查询:
SELECT DEPARTMENT_NUMBER, AGE, AVG(SALARY)
FROM (SELECT e.*, ROUND((MONTHS_BETWEEN(SYSDATE,BIRTHDAY))/12) AS AGE
FROM EMPLOYEE
) e
GROUP BY DEPARTMENT_NUMBER, AGE;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
36 次 |
| 最近记录: |