MySQL GROUP_CONCAT 서로 다른 결과를 한줄로 합쳐서 보여줘야 할 때 사용
페이지 정보
본문
필요에 의해 서로 다른 결과를 한줄로 합쳐서 보여줘야 할 경우가 있다.
select * from 테이블;
select 필드1, group_concat(필드2) from 테이블;
group_concat을 기본적인 형태로 사용했을경우 문자열 사이에 쉼표(,)가 붙게 된다.
구분자를 변경하고 싶을때는 아래와 같이 SEPARATOR '구분자'를 붙여 준다.
select 필드1, group_concat(필드2 separator '|') from 테이블;
합쳐지는 문자열에 중복되는 문자열을 제거 할때는 distinct 를 사용
select 필드1, group_concat(distinct 필드2) from 테이블;
문자열을 정렬하여 나타내고 싶으면 order by 를 이용
select 필드1, group_concat(distinct 필드2 order by 필드2) from 테이블;
참고자료
http://fruitdev.tistory.com/16
https://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html
https://www.javaer101.com/ko/article/9621113.html
select * from 테이블;
필드1 | 필드2 |
---|---|
fruit | 감 |
fruit | 사과 |
fruit | 바나나 |
fruit | 사과 |
select 필드1, group_concat(필드2) from 테이블;
필드1 | 필드2 |
---|---|
fruit | 감,사과,바나나,사과 |
group_concat을 기본적인 형태로 사용했을경우 문자열 사이에 쉼표(,)가 붙게 된다.
구분자를 변경하고 싶을때는 아래와 같이 SEPARATOR '구분자'를 붙여 준다.
select 필드1, group_concat(필드2 separator '|') from 테이블;
필드1 | 필드2 |
---|---|
fruit | 감|사과|바나나|사과 |
합쳐지는 문자열에 중복되는 문자열을 제거 할때는 distinct 를 사용
select 필드1, group_concat(distinct 필드2) from 테이블;
필드1 | 필드2 |
---|---|
fruit | 감,사과,바나나 |
문자열을 정렬하여 나타내고 싶으면 order by 를 이용
select 필드1, group_concat(distinct 필드2 order by 필드2) from 테이블;
필드1 | 필드2 |
---|---|
fruit | 감,바나나,사과 |
참고자료
http://fruitdev.tistory.com/16
https://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html
https://www.javaer101.com/ko/article/9621113.html
댓글목록
등록된 댓글이 없습니다.