我的目标是列出教育水平高于平均水平的员工
这是我所拥有的
Select [ED_LVL],
AVG (ED_LVL) as 'AVG ED_LVL'
From [Enterprise].[dbo].[Employee]
Group BY [ED_LVL]
我猜我必须制作某种类型的子查询或分区?不知道该怎么做谢谢!
我的目标是列出教育水平高于平均水平的员工
这是我所拥有的
Select [ED_LVL],
AVG (ED_LVL) as 'AVG ED_LVL'
From [Enterprise].[dbo].[Employee]
Group BY [ED_LVL]
我猜我必须制作某种类型的子查询或分区?不知道该怎么做谢谢!
尝试这个 :
Select *
From [Enterprise].[dbo].[Employee]
WHERE ED_LVL > (Select AVG(ED_LVL) From [Enterprise].[dbo].[Employee])
尝试这个:
select *
from Employee t
where t.ED_LVL >
(
select AVG(e.ED_LVL) [avg]
from Employee e
)
这是可以使用平均函数的方式:
SELECT AVG(column_name) FROM table_name
关于你的问题,试试这个:
Select * FROM [Enterprise].[dbo].[Employee]
WHERE [ED_LVL]>(SELECT AVG(ED_LVL) FROM [Enterprise].[dbo].[Employee])
它提供了 ED_LVL 大于平均 ED_LVL 的员工详细信息。
尝试这个 !!
SELECT [ED_LVL],
FROM (
SELECT
[ED_LVL],
AVG( [ED_LVL]) OVER () AS avg_edu,
FROM [Enterprise].[dbo].[Employee]
) s
WHERE [ED_LVL]> avg_edu