반응형
mysql에서 선택한 값의 쉼표로 구분 된 문자열
MySQL에서 선택한 값을 쉼표로 구분 된 문자열로 변환하고 싶습니다. 내 초기 코드는 다음과 같습니다.
SELECT id FROM table_level where parent_id=4;
생산 :
'5'
'6'
'9'
'10'
'12'
'14'
'15'
'17'
'18'
'779'
내 원하는 출력은 다음과 같습니다.
"5,6,9,10,12,14,15,17,18,779"
이것을 확인하십시오
SELECT GROUP_CONCAT(id) FROM table_level where parent_id=4 group by parent_id;
parent_id에 대한 여러 행이있는 경우.
SELECT GROUP_CONCAT(id) FROM table_level where parent_id=4 GROUP BY parent_id;
공백을 쉼표로 바꾸려면.
SELECT REPLACE(id,' ',',') FROM table_level where parent_id=4;
먼저 set group_concat_max_len
, 그렇지 않으면 모든 결과를 제공하지 않습니다.
SET GLOBAL group_concat_max_len = 999999;
SELECT GROUP_CONCAT(id) FROM table_level where parent_id=4 group by parent_id;
mysql의 group_concat () 함수를 사용하십시오 .
SELECT GROUP_CONCAT(id) FROM table_level where parent_id=4 GROUP BY parent_id;
다음과 같이 연결된 문자열을 제공합니다.
5,6,9,10,12,14,15,17,18,779
이 시도
SELECT CONCAT('"',GROUP_CONCAT(id),'"') FROM table_level
where parent_id=4 group by parent_id;
결과는
"5,6,9,10,12,14,15,17,18,779"
group_concat
mysql에서 사용 방법
그룹에서 값 사이의 기본 구분 기호는 쉼표 (,)입니다. 다른 구분 기호를 지정하려면 SEPARATOR
아래와 같이 사용하십시오 .
SELECT GROUP_CONCAT(id SEPARATOR '|')
FROM `table_level`
WHERE `parent_id`=4
GROUP BY `parent_id`;
5 | 6 | 9 | 10 | 12 | 14 | 15 | 17 | 18 | 779
구분 기호를 제거하려면 다음을 사용하십시오. SEPARATOR ''
SELECT GROUP_CONCAT(id SEPARATOR '')
FROM `table_level`
WHERE `parent_id`=4
GROUP BY `parent_id`;
자세한 정보는 GROUP_CONCAT 참조
참고URL : https://stackoverflow.com/questions/19558443/comma-separated-string-of-selected-values-in-mysql
반응형
'Nice programing' 카테고리의 다른 글
오류 : 알 수없는 유형 이름 'bool' (0) | 2020.11.19 |
---|---|
iTerm2 : 줄을 삭제 하시겠습니까? (0) | 2020.11.19 |
푸시 segue 대신 뷰 컨트롤러를 교체하거나 탐색 스택에서 제거하는 방법은 무엇입니까? (0) | 2020.11.19 |
상태를 속성에 바인딩하는 경우 [(ngModel)]과 [ngModel]의 차이점은 무엇입니까? (0) | 2020.11.19 |
C ++ : 구조체가 클래스에서 상속 할 수 있습니까? (0) | 2020.11.19 |