【问题标题】:MYSQL top 2 salaried employees in each department and average department salaryMYSQL各部门工资前2名及部门平均工资
【发布时间】:2023-03-22 12:27:01
【问题描述】:

MySQL,每个部门的前 2 名受薪员工和部门平均工资。 我能够检索到每个部门的前两名受薪员工,但我不知道如何包括平均部门工资

SELECT *
FROM Employee e1
WHERE 2 > (
           SELECT COUNT(DISTINCT Salary)
           FROM Employee e2
           WHERE e2.Salary > e1.Salary
           AND e1.Dept = e2.Dept
        );

【问题讨论】:

    标签: mysql mysql-workbench average distinct record


    【解决方案1】:

    我本人对 sql 还很陌生,但我认为您无法在同一个查询中包含按部门划分的平均值。您的 where 语句将对您的选择产生影响,因此您查询的任何平均值都只是 where 语句返回的行的平均值。在我看来(再次以我有限的经验),必须进行第二次查询才能使用类似的东西来呈现平均工资

    SELECT AVG(e1.salary),  AVG(e2.salary), DISTINCT e1.dept, DISTINCT e2.dept
    

    来自员工 e1 按 e1.dept、e2.dept 分组

    【讨论】:

      猜你喜欢
      • 2022-11-10
      • 2021-03-15
      • 2012-08-02
      • 2019-01-25
      • 2021-09-09
      • 1970-01-01
      • 2021-01-31
      • 1970-01-01
      • 2022-01-22
      相关资源
      最近更新 更多