gpt4 book ai didi

SQL - 获取 MAX AVG

转载 作者:行者123 更新时间:2023-12-04 22:05:54 24 4
gpt4 key购买 nike

所以我一直在尝试解决这个问题,尽管我在这里发现了很多有趣的事情,但我根本无法按照要求的方式解决它。

我有两个表:

PROFESSOR (ID, NAME, DEPARTMENT_ID and SALARY) and
DEPARTMENT (ID, NAME).

我必须编写一个查询来显示平均工资最高的部门名称。此外,如果不止一个部门的平均薪水最高,则应按任意顺序列出所有部门。

我尝试了很多东西,最后我创造了一个怪物,我想。我尝试使用 HAVING 但它没有像我那样工作。我迷路了。问题是我需要使用聚合函数。

SELECT b.nam, b.average
FROM ( SELECT DEPARTMENT.NAME AS nam, AVG(PROFESSOR.SALARY) AS average
FROM PROFESSOR JOIN DEPARTMENT ON (PROFESSOR.DEPARTMENT_ID =
DEPARTMENT.ID)
GROUP BY DEPARTMENT.NAME) AS b
GROUP BY b.nam, b.average
ORDER BY b.average DESC

但此查询为我提供了所有部门的平均值,而不是最大值。

如果有人可以帮助我并以简单的方式解释,我将不胜感激。谢谢!

最佳答案

你可以使用它。如果不止一行具有相同的最大平均值,使用 WITH TIES 可以带来所有这些值。

SELECT TOP 1 WITH TIES DEPARTMENT.NAME AS nam, AVG(PROFESSOR.SALARY) AS average
FROM PROFESSOR
JOIN DEPARTMENT ON (PROFESSOR.DEPARTMENT_ID = DEPARTMENT.ID)
GROUP BY DEPARTMENT.NAME
ORDER BY AVG(PROFESSOR.SALARY) DESC

关于SQL - 获取 MAX AVG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47398251/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com