검색결과 리스트
글
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
보통 테이블을 SELECT하면 테이블에 존재하는 레코드 수만큼 반환을 하게 되는데, 때때로 반환한 레코드를 한 줄의 데이터로 변경할 경우가 있다.
예를들면,
one
two
three
테이블의 컬럼 데이터를 one, two, three로 반환하고 싶은 것이다.
이런 경우 MySQL에서는 GROUP_CONCAT을 사용한다.
SELECT group_concat(name) FROM Test;
또한, group_concat을 사용할 때 대량의 데이터를 사용할 때 종종 잘리기도 하는데 아래의 옵션을 조정하여 해결할 수 있다.
mysql> SET @@group_concat_max_len = 크기;
전체적용 쿼리) SET group_concat_max_len = 크기;
세션적용 쿼리) SET SESSION qroup_concat_max_len = 크기;
추가) 2013-08-13
1. group_concat을 하면 기본적으로 ,로 구분하여 데이터가 나타나는데, 이 구분자를 변경할 필요가 있을 수 있다.
SELECT group_concat(name SEPARATOR '|') FROM Test;
만약 |로 구분하고 싶다면 위의 예처럼 사용이 가능하다.
2. group_concat을 했는데 결과에 중복값들이 있어 중복제거가 필요할 경우
SELECT group_concat(DISTINCT name) FROM Test;
3. group_concat의 결과를 정렬하고 싶다면
SELECT group_concat(name ORDER BY name) FROM Test;
'-- MySQL' 카테고리의 다른 글
MySQL Linked Server - Federated Engine (0) | 2013.07.08 |
---|---|
날짜검색 시 주의사항 (0) | 2013.06.18 |
MySQL 대소문자 구분할 수 있는 컬럼 (0) | 2013.06.18 |
MINUS와 INTERSECT 집합 연산 (0) | 2013.05.29 |
mysql에서 rownum 사용 (0) | 2013.05.10 |
RECENT COMMENT