我在Postgresql DB中有一个表。它有3个字段:Emp_Name,Dept &年龄。我需要显示员工部门的平均年龄。我需要在结果集中显示全部3个字段。下面是输入和预期的输出:需要选择员工部门明智的平均年龄
这里是SQL小提琴:http://sqlfiddle.com/#!15/7c4cf
如何显示在PostgreSQL中预期的结果?
我在Postgresql DB中有一个表。它有3个字段:Emp_Name,Dept &年龄。我需要显示员工部门的平均年龄。我需要在结果集中显示全部3个字段。下面是输入和预期的输出:需要选择员工部门明智的平均年龄
这里是SQL小提琴:http://sqlfiddle.com/#!15/7c4cf
如何显示在PostgreSQL中预期的结果?
可以使用string_agg
功能concatinate员工姓名和avg
得到的平均年龄:
SELECT STRING_AGG(emp_name, ','), dept, AVG(age)
FROM test1
GROUP BY dept
您可以通过部门使用组并使用avg
和string_agg
聚合函数来得到期望的结果:
select
string_agg(Emp_Name, ',') Emp_Name,
Dept,
avg(Age) Average_age
from test1
group by Dept;
谢谢! :)作品! – user1538020