MySQL 쿼리 결과에서 쉼표로 구분된 목록 생성
많은 데이터베이스 사용자는 MySQL 쿼리에서 쉼표로 구분된 목록을 요구합니다. MySQL은 이를 직접 지원하지 않지만 GROUP_CONCAT
함수는 간단한 솔루션을 제공합니다.
문제
출판 데이터 및 관련 사이트 이름을 검색하는 쿼리를 상상해 보십시오.
<code class="language-sql">SELECT p.id, p.name, (SELECT name FROM sites s WHERE s.id = p.site_id) AS site_list FROM publications p;</code>
게시물당 하나의 사이트 이름만 포함된 "site_list" 열이 반환됩니다. 대신 쉼표로 구분된 목록이 필요합니다.
해결책: GROUP_CONCAT
GROUP_CONCAT
함수는 열의 값을 연결합니다. 향상된 쿼리는 다음과 같습니다.
<code class="language-sql">SELECT p.id, p.name, GROUP_CONCAT(s.name) AS site_list FROM sites s INNER JOIN publications p ON s.id = p.site_id GROUP BY p.id, p.name;</code>
INNER JOIN
을 사용하여 "사이트"와 "출판" 테이블을 연결하여 올바른 사이트-출판 연결을 보장합니다. GROUP_CONCAT(s.name)
은 사이트 이름을 연결하고 GROUP BY p.id, p.name
는 출판물 ID와 이름별로 결과를 그룹화하여 "site_list" 열에 원하는 쉼표로 구분된 목록을 만듭니다. 이는 필요한 출력을 효율적으로 제공합니다.
위 내용은 MySQL 쿼리 결과에서 쉼표로 구분된 값 목록을 어떻게 얻을 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!