SQL Server 如何使用groupby查找部门表中平均工资的最低值?(在SQL中)

gfttwv5a  于 2023-02-03  发布在  其他
关注(0)|答案(3)|浏览(187)

我正在学习SQI,我有一个问题,如下:

    • 我想在部门的平均工资中找到最小值。**

架构:部门(dno,薪金)

我试着在下面查询,但是我得到错误。

**select min(avg(salary)) from department groupby dno;**

有人能帮我解决这个问题吗,或者其他可能的解决方案?

enxuqcxy

enxuqcxy1#

使用TOP 1:

select top 1 avg(salary) AS avg_salary
from department 
group by dno
order by avg_salary
5lhxktic

5lhxktic2#

使用从子查询中选择的方法:

select min(T.avg_salary) as min_salary
from
(
    select avg(salary) as avg_salary
    from department
    group by dno
) T;
but5z9lq

but5z9lq3#

从概念上讲,min和avg都是一个集合操作。附带地,min(avg(salary))== avg(salary),因为对于给定的一组数字只有一个avg。显然,您可以计算
从部门中选择最小值(薪金)、平均值(薪金)
这将告诉你部门中的最低工资,根据定义,除非所有的工资都是一样的,否则它将小于平均值。这是一个奇怪的用例。
你可能会想:按部门从员工组中选择部门、最低(薪金)、最高(薪金)、平均(薪金)
为了理解一个新的分布,我将经常使用
从目标表中选择最小值(目标值)、最大值(目标值)、平均值(目标值)
才能了解数值的范围。

相关问题