여러 MySQL 행을 하나의 필드로 연결하는 방법은 무엇입니까?
P粉482108310
P粉482108310 2023-08-28 11:10:23
0
2
422
<p><code>MySQL</code>을 사용하여 다음을 수행할 수 있습니다. </p> <pre class="brush:php;toolbar:false;">peoples_hobbies에서 취미를 선택하세요. WHERE person_id = 5;</pre> <p><strong>내 결과: </strong></p> <pre class="brush:php;toolbar:false;">쇼핑 어업 코딩</pre> <p>하지만 행 1개, 열 1개만 필요합니다. </p> <p><strong>예상 출력: </strong></p> <pre class="brush:php;toolbar:false;">쇼핑, 낚시, 코딩</pre> <p>이유는 여러 테이블에서 여러 값을 선택하고 모든 조인 후에 원하는 것보다 훨씬 많은 행을 얻게 되기 때문입니다. </p> <p>MySQL Doc에서 함수를 찾아보니 <code>CONCAT</code> 또는 <code>CONCAT_WS</code> 함수가 결과 집합을 허용하지 않는 것 같습니다. </p> <p>여기에 이 ​​작업을 수행하는 방법을 아는 사람이 있나요? </p>
P粉482108310
P粉482108310

모든 응답(2)
P粉520545753

MySQL 버전(4.1)이 이를 지원하는지 GROUP_CONCAT 확인하세요. 자세한 내용은 문서세부정보를 참조하세요.

다음과 같습니다:

으아악
P粉041856955

GROUP_CONCAT을 사용할 수 있습니다.

으아악

Ludwig가 그의 의견에서 언급했듯이 a> 중복을 피하기 위해 DISTINCTDISTINCT 연산자를 추가할 수 있습니다.

으아악

Jan이 댓글에서 언급한 것처럼 a> ORDER BYORDER BY를 사용하여 내파하기 전에 값을 정렬할 수도 있습니다.

으아악

Dag가 자신의 댓글에서 언급했듯이 결과는 1024바이트 제한이 있습니다. 이 문제를 해결하려면 다음 쿼리를 먼저 실행하세요.

으아악

물론, 원한다면 20482048을 변경할 수 있습니다. 값 계산 및 할당:

으아악
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿