SQL:查找按 ID 分组的最大平均值

SQL: finding the maximum average grouped by an ID

考虑以下数据集:

id name mgr_id salary bonus
1 Paul 1 68000 10000
2 Lucas 2 29000 null
3 Max 1 50000 20000
4 Zack 2 30000 null

我现在想找出给下属支付最高平均工资加奖金的经理。经理是出现在 mgr_id 个单元格中的人。因此,在此示例中,Paul 和 Lucas 是经理,因为他们的 ID 出现在他们自己的 mgr_id 列中,而 Max 代表 Paul,Zack 代表 Lucas。 基本上我想要 MAX(AVG(salary + bonus)) 然后按 mgr_id 分组。我怎样才能做到这一点? 我正在使用 SQLite。

在此示例中,我的预期输出只是员工姓名 'Paul',因为他有 2 个下属(他自己和 Max),并且比其他经理 Lucas 付给他们更多的钱。

SELECT 
       mrg_id
     , pay_avg
  FROM
     (
       SELECT mrg_id
            , AVG(salary + COALESCE(bonus,0)) pay_avg
         FROM <table>
        GROUP 
           BY mrg_id
     ) q
ORDER 
   BY pay_avg
      desc
LIMIT 1
select top 1 t1.mgr_id,AVG((t1.salary)+(t1.bonus)) as tot_sal
from #tbl_emps as t1
group by t1.mgr_id
order by AVG((t1.salary)+(t1.bonus)) desc