sql查询某个条件

圣雄阿拉丁

我有一张像这样的桌子:

empId empSalary empDept
1   45000   IT
2   40000   IT
3   50000   SALES
4   60000   SALES
5   75000   IT
6   80000   IT
7   25000   OPS
8   30000   OPS
9   55000   MARKETING
10  60000   MARKETING

我必须将查询写为:

select empId where empSalary  > avg(empSalary) for each  empDept

请帮助。

萨哈什·沙(Saharsh Shah)

试试这个:

SELECT e.empId, e.empSalary, e.empDept  
FROM employee e 
INNER JOIN (SELECT e1.empDept, AVG(e1.empSalary) empSalary 
            FROM employee e1 
            GROUP BY e1.empDept
           ) a ON e.empDept = a.empDept AND e.empSalary > a.empSalary;

编辑

SELECT e.empDept, COUNT(DISTINCT e.empid) noOfEmployees
FROM employee e 
INNER JOIN (SELECT AVG(e1.empSalary) empSalary FROM employee e1) a ON e.empSalary > a.empSalary
GROUP BY e.empDept;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章