我想包括dname,deptno,loc,加入ename并将colum标记为Number_of_People总结工资标签colum Total Salary然后加入dept表我只想为dept 30做这个
继承我得到的错误
SQL> select dname,deptno, loc, count(ename) as Number_of_People, sum(sal) as Total_Salary from emp join dept on emp.deptno = dept.deptno group by dname,loc where deptno =30;
select dname,deptno, loc, count(ename) as Number_of_People, sum(sal) as Total_Salary from emp join dept on emp.deptno = dept.deptno group by dname,loc where deptno =30
*
ERROR at line 1:
ORA-00933: SQL command not properly ended
SQL>
表emp;
SQL> select empno, ename, job, mgr, hiredate,comm, deptno from emp;
EMPNO ENAME JOB MGR HIREDATE COMM DEPTNO
---------- ---------- --------- ---------- --------- ---------- ----------
7839 KING PRESIDENT 17-NOV-81 10
7698 BLAKE MANAGER 7839 01-MAY-81 30
7782 CLARK MANAGER 7839 09-JUN-81 10
7566 JONES MANAGER 7839 02-APR-81 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1400 30
7499 ALLEN SALESMAN 7698 20-FEB-81 300 30
7844 TURNER SALESMAN 7698 08-SEP-81 0 30
7900 JAMES CLERK 7698 03-DEC-81 30
7521 WARD SALESMAN 7698 22-FEB-81 500 30
7902 FORD ANALYST 7566 03-DEC-81 20
7369 SMITH CLERK 7902 17-DEC-80 20
EMPNO ENAME JOB MGR HIREDATE COMM DEPTNO
---------- ---------- --------- ---------- --------- ---------- ----------
7788 SCOTT ANALYST 7566 09-DEC-82 20
7876 ADAMS CLERK 7788 12-JAN-83 20
7934 MILLER CLERK 7782 23-JAN-82 10
14 rows selected.
表部门;
SQL> select * from dept;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
答案 0 :(得分:4)
您需要在where
子句之前加上group by
子句。
尝试:
select dname,deptno, loc
, count(ename) as Number_of_People
, sum(sal) as Total_Salary
from emp join dept on emp.deptno = dept.deptno
where deptno=30
group by dname,loc;
答案 1 :(得分:3)
Where
条款必须在group by
条款之前。如果您需要在分组后进行过滤,请使用having
select dname, emp.deptno as deptno, loc, count(ename) as Number_of_People,
sum(sal) as Total_Salary from emp join dept on emp.deptno = dept.deptno
where emp.deptno =30
group by dname,loc ;