回答編集履歴

2

修正

2018/04/23 02:42

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -1,6 +1,6 @@
1
1
  仮に可変で取り出せたとして、どのように利用するのですか?
2
2
 
3
- カラムが可変で返却されるselect結果を利用する場合、結局カラムの情を判断する必要があるでしょうから、
3
+ カラムが可変で返却されるselect結果を利用する場合、結局カラムの情を判断する必要があるでしょうから、
4
4
 
5
5
  select結果を利用する際に配列型を扱えるようなら、[array_agg()](https://www.postgresql.jp/document/9.4/html/functions-aggregate.html)の利用をお薦めします。
6
6
 

1

追記

2018/04/23 02:42

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -18,6 +18,8 @@
18
18
 
19
19
  array_agg()はdistinctやorder byも指定できますし、配列の要素数は[array_length()](https://www.postgresql.jp/document/9.4/html/functions-array.html)で求めることができます。
20
20
 
21
+
22
+
21
23
  ```SQL
22
24
 
23
25
  select *, array_length(申請日リスト, 1) as 申請件数
@@ -33,3 +35,5 @@
33
35
  ) agg_list
34
36
 
35
37
  ```
38
+
39
+ ※array_length()の説明のために記述しただけで、単に件数を求めるのにはcount()を使用すればよくネストさせる必要はありません。また、他にも配列を扱う色々な関数があります。