【问题标题】:I have to find the the name of the department with maximum average from the table salary我必须从表中找到平均工资最高的部门名称
【发布时间】:2021-07-02 19:03:24
【问题描述】:

这是我正在编写的代码并出现错误

select Dep_name,T
from
(select Dep_name,avg(salary) as T
from salary
group by Dep_name) as TT
having max(T);

错误:第 4 行出现错误 1140 (42000):在没有 GROUP BY 的聚合查询中,SELECT 列表的表达式 #1 包含非聚合列“TT.Dep_name”;这与 sql_mode=only_full_group_by 不兼容

【问题讨论】:

    标签: mysql sql select top-n


    【解决方案1】:

    一种方法是按平均工资排序并仅使用limit 子句获取第一行:

    SELECT   dep_name, AVG(salary) 
    FROM     salary 
    GROUP BY dep_name 
    ORDER BY 2 DESC
    LIMIT    1
    

    【讨论】:

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