GROUP BY를 사용하여 MySQL에서 문자열을 연결하는 방법은 무엇입니까?
기본적으로 문제는 이 문제를 어떻게 해결하느냐입니다.
foo_id foo_name1 A1 B섭씨 2도
다음과 같이 입력합니다.
foo_id foo_name1 A B섭씨 2도
SELECT id, GROUP_CONCAT(name SEPARATOR ' ') FROM table GROUP BY id;
https://dev.mysql.com/doc/refman/8.0/en/aggregate-functions.html#function_group-concat
위 링크에서GROUP_CONCAT
: 이 함수는 그룹에서 연결된 NULL 이외의 값을 포함하는 문자열 결과를 반환합니다.NULL 이외의 값이 없는 경우 NULL을 반환합니다.
SELECT id, GROUP_CONCAT( string SEPARATOR ' ') FROM table GROUP BY id
자세한 것은 이쪽.
위 링크에서GROUP_CONCAT
: 이 함수는 그룹에서 연결된 NULL 이외의 값을 포함하는 문자열 결과를 반환합니다.NULL 이외의 값이 없는 경우 NULL을 반환합니다.
SELECT id, GROUP_CONCAT(name SEPARATOR ' ') FROM table GROUP BY id;
:- MySQL 에서는 expression combinations의 연결값을 얻을 수 있습니다.중복된 값을 제거하려면 DISTINCT 절을 사용합니다.결과 값을 정렬하려면 ORDER BY 절을 사용합니다.역순으로 정렬하려면 ORDER BY 절에서 정렬할 열 이름에 DESC(내림차순) 키워드를 추가합니다.기본값은 오름차순입니다.ASC 키워드를 사용하여 명시적으로 지정할 수 있습니다.그룹의 값 사이의 기본 구분자는 쉼표("")입니다.구분 기호를 명시적으로 지정하려면 SEPERATOR 뒤에 그룹 값 사이에 삽입해야 하는 문자열 리터럴 값을 사용합니다.구분 기호를 모두 삭제하려면 SEPERATOR ' 를 지정합니다.
GROUP_CONCAT([DISTINCT] expr [,expr ...]
[ORDER BY {unsigned_integer | col_name | expr}
[ASC | DESC] [,col_name ...]]
[SEPARATOR str_val])
또는
mysql> SELECT student_name,
-> GROUP_CONCAT(DISTINCT test_score
-> ORDER BY test_score DESC SEPARATOR ' ')
-> FROM student
-> GROUP BY student_name;
SELECT id, GROUP_CONCAT(CAST(name as CHAR)) FROM table GROUP BY id
쉼표로 구분된 문자열을 제공합니다.
결과는 group_concat_max_len 시스템 변수에 의해 지정된 최대 길이로 잘립니다.기본값은 1024자입니다.따라서 먼저 다음 작업을 수행합니다.
SET group_concat_max_len=100000000;
예를 들어 다음과 같습니다.
SELECT pub_id,GROUP_CONCAT(cate_id SEPARATOR ' ') FROM book_mast GROUP BY pub_id
좋은 답변입니다.저도 NULLS에 문제가 있어서 GROUP_CONCAT에 COALESCE를 포함시킴으로써 해결할 수 있었습니다.예를 들어 다음과 같습니다.
SELECT id, GROUP_CONCAT(COALESCE(name,'') SEPARATOR ' ')
FROM table
GROUP BY id;
이게 다른 사람에게 도움이 되길 바란다.
언급URL : https://stackoverflow.com/questions/149772/how-to-use-group-by-to-concatenate-strings-in-mysql
'programing' 카테고리의 다른 글
array_filter() 뒤에 키를 리셋하여 0부터 순서대로 이동하려면 어떻게 해야 합니까? (0) | 2022.09.25 |
---|---|
열 값이 동일할 때의 합계 값 (0) | 2022.09.25 |
큰 테이블의 행을 업데이트하는 가장 뛰어난 방법 (0) | 2022.09.25 |
Python dict를 데이터 프레임으로 변환 (0) | 2022.09.25 |
PHP를 사용하여 파일을 가장 빠르게 처리하는 방법 (0) | 2022.09.25 |