选择国家/地区,按ID <4的国家/地区从员工组中计算(); 此查询工作正常但我使用时 选择国家/地区,按性别分类的员工组计算()=&#39;男性&#39 ;; 显示错误:-ORA-00979:不是GROUP BY表达式 为什么?
答案 0 :(得分:1)
第一项应该有效,因为国家/地区和国家/地区之间存在相同的汇总级别(每个国家/地区只有一个ID)
第二个不起作用,因为性别不是聚合列,并且没有相同的聚合级别,所以
如果你不需要聚合条款
中的性别,你应该使用过滤器的位置 select country,count(*) from employee
where sex='male'
group by country;
或者您可以通过并过滤
来添加性别 select country,sex, count(*) from employee
group by country, sex
having sez='male';