mysql 과 postgresql 의 group_concat 함수
를 잘 이용하면, 극도로 정규화된 각 테이블 정보로부터
편하게 하나의 테이블 안에 group값 전체를 표시할 수가 있다.
mysql 과 postgresql 의 group_concat 함수
목, 2009-03-05 15:39
목, 2009-09-03 23:41
분리자를 이용하면 좀 더 예쁘게 볼 수 있다.
SELECT GROUP_CONCAT(fieldName SEPARATOR '/') FROM tableName
목, 2009-06-25 14:42
만일 group_concat의 결과가 BLOB으로만 보인다면,
아래와 같이 변경해서 출력하면 된다.
기존 : group_concat( 필드명 )
변경 : group_concat(cast( 필드명 as char) )
목, 2009-03-05 15:55
참고 - http://72.14.235.132/search?q=cache:wwNJ-udNAncJ:miau.s9.xrea.com/blog/i...
PostgreSQL では、集約関数を自分で定義できたりします。
これを作ってしまうと、
SELECT id, SUM(point) FROM Points GROUP BY id
みたいなノリで「カンマで文字列を結合する」集約処理
SELECT id, comma_join(point_name) FROM Points GROUP BY id
みたいなことができちゃいます。
では早速。
CREATE FUNCTION text_comma_join(text, text) RETURNS text AS 'SELECT $1 || '','' || $2
' LANGUAGE SQL;
CREATE FUNCTION skip_initial(text) RETURNS text AS '
SELECT substr($1, 2)
' LANGUAGE SQL;
CREATE AGGREGATE comma_join (
BASETYPE = text,
SFUNC = text_comma_join,
STYPE = text,
FINALFUNC = skip_initial,
INITCOND = ''
);
댓글 쓰기