当我使用以下查询时,它工作:
select d.id,
d.name,
count(e.id) as numberofemployees
from department d,
employee1 e
where d.id=e.deptid
group by d.id,
d.name
order by d.id;
Run Code Online (Sandbox Code Playgroud)
但是,当我使用以下查询时,它给了我错误:
select d.id,
d.name,
count(e.id) as numberofemployees
from department d,
employee1 e
where d.id=e.deptid
group by d.id
order by d.id;
Run Code Online (Sandbox Code Playgroud)
错误如下:
选择d.id,d.name,count(e.id)作为numberofemployees
第1行的错误:ORA-00979:不是GROUP BY表达式
我不明白问题是什么.我认为对单列进行分组应该没问题.任何帮助将不胜感激.
在大多数DBMS实现方式中,GROUP BY必须包含未出现在聚合函数(每列AVG(),SUM(),COUNT()等等).如果有两列(ID和Name)不在聚合函数中,则必须在GROUP BY子句中列出它们.
| 归档时间: |
|
| 查看次数: |
102 次 |
| 最近记录: |