如何解决错误组功能不允许

时间:2019-07-02 16:43:20

标签: sql oracle11g

有两个表:

  • employeee(emp_id,emp_name,salary,dept_id)和
  • 部门(dept_id,dept_name)。

该查询用于查找员工人数最多的部门名称。我想到的查询是这个

extension FixedWidthInteger {
    var binaryStringRepresentation: String {
        words.reduce(into: "") {
            $0.append(contentsOf: repeatElement("0", count: $1.leadingZeroBitCount))
            if $1 != 0 {
                $0.append(String($1, radix: 2))
            }
        }
    }
}

显示的错误是这个

  

ORA-00934:此处不允许使用分组功能

请在这里说明一下,我已经尝试了两天以上。

2 个答案:

答案 0 :(得分:1)

您正尝试使用子查询的结果两次。为了(重复)使用它多次,您需要将其放入CTE(公用表表达式)中。完成后,查询将变得更加容易。

例如,您可以将查询改写为:

riscv32-unknown-elf-

答案 1 :(得分:1)

一种解决方案是订购,之后仅获取第一条记录...

像这样:

select * from
(
  select d.dept_name, count(e.id) 
  from department d, employee e
  where e.dept_id = d.dept_id
  group by d.dept_name
  order by count(e.id) desc
)
where rownum = 1;