2017-02-11 26 views
1

私はPostgreSQL DBにテーブルを持っています。それは3つのフィールドを持っています:Emp_Name、Dept &年齢。私は従業員の平均年齢を部門別に示す必要があります。結果セットに3つのフィールドをすべて表示する必要があります。以下は、入力と出力が期待される:ここでは従業員の平均年齢を部門別に選択する必要があります

enter image description here

はSQLフィドルです:http://sqlfiddle.com/#!15/7c4cf

私は、PostgreSQLで期待される結果を表示するにはどうすればよいですか?

答えて

1

を:

SELECT STRING_AGG(emp_name, ','), dept, AVG(age) 
FROM  test1 
GROUP BY dept 

SQLFiddle

+1

ありがとう!! :)作品! – user1538020

1

あなたは部門にして、グループを使用し、望ましい結果を得るためにavgstring_aggの集計関数を使用することができます:あなたは平均年齢を取得するために、従業員の名前とavgをconcatinateするstring_agg機能を使用することができます

select 
    string_agg(Emp_Name, ',') Emp_Name, 
    Dept, 
    avg(Age) Average_age 
from test1 
group by Dept; 
関連する問題