>  기사  >  데이터 베이스  >  MySQL 값을 쉼표로 구분된 문자열로 변환하는 방법은 무엇입니까?

MySQL 값을 쉼표로 구분된 문자열로 변환하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-04 18:00:03580검색

How to Convert MySQL Values into a Comma-Separated String?

선택한 MySQL 값을 쉼표로 구분된 문자열로 변환

MySQL로 작업할 때 데이터를 검색하여 쉼표로 구분된 문자열로 변환해야 하는 경우가 많습니다. 보다 관리하기 쉬운 형식입니다. 일반적인 요구 사항 중 하나는 선택한 값 목록을 쉼표로 구분된 문자열로 변환하는 것입니다.

다음 시나리오를 고려해 보세요. id라는 열과 parent_id 열이 있는 table_level이라는 테이블이 있습니다. parent_id가 4인 모든 id 값을 선택하고 이를 쉼표로 구분된 단일 문자열로 변환하려고 합니다.

문제 설명:

초기 코드는 다음과 같습니다.

SELECT id
FROM table_level
WHERE parent_id = 4;

이 쿼리는 id 값을 올바르게 반환하지만 개별 행으로 표시하므로 단일 문자열로 작업하기가 어렵습니다.

원하는 출력:

원하는 출력은 다음과 같은 쉼표로 구분된 문자열 형식이어야 합니다.

"5,6,9,10,12,14,15,17,18,779"

해결책:

원하는 출력을 얻으려면 MySQL의 GROUP_CONCAT() 함수를 활용할 수 있습니다. 이 함수는 지정된 구분 기호로 구분된 지정된 열의 값을 연결합니다. 이 경우 구분 기호는 쉼표입니다.

수정된 쿼리:

SELECT GROUP_CONCAT(id)
FROM table_level
WHERE parent_id = 4
GROUP BY parent_id;

이 수정된 쿼리는 GROUP_CONCAT()을 사용하여 ID 값을 연결합니다. 쉼표를 단일 문자열로 변환합니다. GROUP BY 절은 지정된 parent_id 값(이 경우 4)에 대해서만 연결이 수행되도록 보장합니다.

출력:

수정된 쿼리를 실행하면 원하는 쉼표로 구분된 문자열 출력:

"5,6,9,10,12,14,15,17,18,779"

위 내용은 MySQL 값을 쉼표로 구분된 문자열로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.