1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Listagg(リスタッグ)関数まとめ

Posted at

Listagg関数とは...

指定した列の複数行の値を連結して1行にまとめることができる集計関数。
デリミタ(区切り記号)を指定することで、カンマ区切りなどでまとめることができます。
※戻り値は文字型

書式

LISTAGG(連結したい列, 'デリミタ') WITHIN GROUP (ORDER BY 連結順の基準列) 別名

  引数                        説明
連結したい列               連結にしたい列名を指定。
デリミタ                 連結にする際の区切り記号を指定。
連結順の基準列              連結するときの順番を決める基準列を指定。

使用例

サンプルデータ

INSERT INTO listagg_sample (name, department, salary) VALUES
('高木', '営業部', 400,000),
('高橋', '開発部', 350,000),
('山田', '営業部', 390,000),
('佐藤', '管理部', 420,000),
('伊藤', '開発部', 340,000);

例)部門毎に名前をカンマ区切りで連結したい場合。
※名前の並び順は給料の高い順

select department, LISTAGG(name, ',') WITHIN GROUP (order by saraly desc nulls last) name from listagg_sample order by department;

実行結果

department        name
管理部          佐藤
営業部          高木,山田
開発部          高橋,伊藤

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?