728x90
여러개의 데이터를 한줄로 보여주고 싶을때 사용.
java나 자바스크립트에서 바로 for 문을 돌며 문자열을 붙여도 되긴 하지만!
개발자라면 항상 여러 상황에서 생각을 해보기 때문에
이번에는!!!
Select 쿼리를 던질때 결과값으로 합쳐져 있는 문자열을 받는 GROUP_CONCAT을 사용해보았다.
실패했다 --> 그 이유는 group_concat은 공통된 어느 하나가 있어야지 한줄로 나오는데
위에서는 모든 메뉴 아이디가 다르기 때문에 여러 메뉴 아이디가 막 나오면서 한줄로 나오지 않았다.
이럴때에는 TB_MENU 테이블에서 중복될 수 있는 어떠한 것으로 group by를 해줘야 한다.
이 테이블에서는 메뉴 레벨이 1 또는 2로만 구분이 되어있기 때문에 공통된 예시라고 생각했다.
오늘의 결론!
group_concat의 group by는 중요하다!! 잘 생각하고 group by 하기.
group_concat을 기본적인 형태로 사용했을경우 문자열 사이에 쉼표(,)가 붙게 된다.
구분자를 변경하고 싶을때는 아래와 같이 SEPARATOR '구분자' 를 붙여 준다.
select MENU_LEVEL, group_concat(MENU_NM separator '|') from TB_MENU group by MENU_LEVEL ;
그럼 한줄로 쉼표 대신 내가 지정한 구분자가 붙여서 나온다!!
끝!
728x90
'주니어 기초 코딩공부 > Database 기초' 카테고리의 다른 글
[MYSQL] 일정 시간단위로 데이터 가져오는 방법 (하루, 한시간, 한달) (2) | 2023.11.24 |
---|---|
내 로컬 데이터베이스를 다른 사용자가 접근 할 수 있도록 변경하기 (2) | 2023.11.22 |
Error Code: 1055. Expression #5 of SELECT list is not in GROUP BY clause and contains nonaggregated column (0) | 2023.10.10 |
Error Code: 2013. Lost connection to MySQL server during query (1) | 2023.10.10 |
오라클 데이터 삭제(DELETE, TRUNCATE) (0) | 2023.06.08 |