SQL ListAgg 関数

http://www.shift-the-oracle.com/sql/aggregate-functions/listagg-10g.html
Oracle11gR2以降で利用できる、ちょっと変わった集計関数。
グループの内訳データを任意の区切り文字で区切って、文字列として取得することができる。
例えば、

GRP         VAL
---------------------
グループA   10
グループA   20
グループA   30
グループB   40
グループB   50

というテーブルがあるときに、

select GRP, sum(VAL), ListAgg(VAL, ',') within group (order by VAL desc) from TABLE;

とやると以下の結果が戻る。

GRP         sum(VAL)   ListAgg
-------------------------------------
グループA   60         30,20,10
グループB   90         50,40