每个部门中每个岗位的最高薪资
每个部门中每个岗位的最高薪资
select dept.dname ,emp1.job ,emp1.sal
from db_hive.tb_dept dept join db_hive.tb_emp emp1
on dept.deptno=emp1.deptno
where ( select count(emp2.sal) as c_sal from db_hive.tb_emp emp2
where emp2.sal>emp1.sal and emp2.deptno=emp1.deptno and emp2.job =emp1.job)<1
order by emp1.deptno,emp1.sal desc
错误信息:
FAILED: ParseException line 4:6 cannot recognize input near 'select' 'count' '(' in expression specification
根据你提供的查询语句和错误信息,我发现问题在于 SQL 的子查询语句中不能出现不能单独存在的 count
函数,需要添加关键字 from
。
正确的 SQL 查询语句应该是这样的:
select dept.dname, emp1.job, emp1.sal
from db_hive.tb_dept dept
join db_hive.tb_emp emp1
on dept.deptno = emp1.deptno
where (
select count(emp2.sal)
from db_hive.tb_emp emp2
where emp2.sal > emp1.sal and emp2.deptno = emp1.deptno and emp2.job = emp1.job
) < 1
order by emp1.deptno, emp1.sal desc;
这个语句将返回每个部门中每个岗位的最高薪资。