如何在SQl Server中获取普通emp表和Avg(Sal)字段的所有行

时间:2016-08-23 14:56:25

标签: sql sql-server

在我最近的采访中,我面对以下问题

考虑EMP表具有以下列

E_Name   Salary   empid 

结果,我期待输出如下

E_name   Salary  empid     Avg(Salary)

有可能吗?

2 个答案:

答案 0 :(得分:5)

这是窗口函数的用途:

select e_name, salary, empid, avg(salary) over ()
from emp;

答案 1 :(得分:0)

使用group by聚合只是另一种选择:

SELECT
  e_name,
  salary,
  empid,
  (SELECT
    AVG(salary) AS average
  FROM (SELECT
    1 AS nil,
    x.salary
  FROM emp x) sub
  GROUP BY nil)
  AS average
FROM emp