员工架构
(ID, EMPLOYEENAME, SALARY, ORGANIZATIONID)
要解决的查询:在没有连接的情况下,查找每个组织中具有最大工资的员工姓名。
SELECT E.*
FROM EMPLOYEE E,
(SELECT EMP.ORGANIZATIONID, MAX(EMP.SALARY)
FROM EMPLOYEE EMP
GROUP BY EMP.ORGANIZATIONID) MAXSALARY
WHERE MAXSALARY.SALARY =E.SALARY
AND E.ORGANIZATIONID=EMP.ORGANIZATIONID ;
有什么方法可以避免连接吗?我使用的是Spark SQL API,而joins会导致额外的随机操作,这是非常昂贵的。有没有办法在获得最高工资的同时获得员工姓名?
https://stackoverflow.com/questions/50777974
复制相似问题