孙文旭 2019-07-07 22:19 采纳率: 0%
浏览 580

hive 嵌套查询 报错 求大佬指点

每个部门中每个岗位的最高薪资

每个部门中每个岗位的最高薪资

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

  • 写回答

1条回答

  • 憧憬blog 2023-03-15 05:53
    关注

    根据你提供的查询语句和错误信息,我发现问题在于 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;
    

    这个语句将返回每个部门中每个岗位的最高薪资。

    评论

报告相同问题?

悬赏问题

  • ¥100 求数学坐标画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站