sql이 항상 그렇지만.. 간편한 방법은 없고
해당 row에 대한 모든 필드를 적어주고, 늘릴 녀석을 unnest() 해주면 된다.
아래 링크는 데이터가 축하게도(!) 2개 뿐이니 select id, unnest(text::text[]) 로 하면 될 것 같지만
여러개면 일일이 다 적어주어야 하잖아? 크앙...
id, text 001, {foo,boo,foo} 002, {"",for,test,friday} 003, {"","",test,friday,tuesday,foo,boo} |
SELECT id, txt, count(*) As txt_count FROM ( SELECT id , unnest(txt) AS txt FROM tbl ) sub WHERE txt <> '' GROUP BY id, txt ORDER BY id, txt; |
[링크 : https://stackoverflow.com/questions/24209197/postgres-convert-array-of-elements-to-multiple-rows]
'프로그램 사용 > postgreSQL' 카테고리의 다른 글
where not in 에서는 null 값을 조심하자 (0) | 2019.11.11 |
---|---|
postgres unnest(null)을 조심하자 (0) | 2019.11.10 |
array_agg에서 NULL 없애기 array_remove() (0) | 2019.11.06 |
drop extension (0) | 2019.11.01 |
pgcrypto 사용 예제 (0) | 2019.10.30 |