我在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