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]

Posted by 구차니

댓글을 달아 주세요