찾다

 >  Q&A  >  본문

여러 MySQL 행을 하나의 필드로 연결할 수 있습니까?

<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>하지만 행과 열은 하나만 필요합니다. </p> <p><strong>원하는 출력: </strong></p> <pre class="brush:php;toolbar:false;">쇼핑, 낚시, 코딩</pre> <p>이유는 여러 테이블에서 여러 값을 선택했는데, 모든 조인 후에는 원하는 것보다 더 많은 행이 생기기 때문입니다. </p> <p>MySQL 문서에서 함수를 찾아보니 <code>CONCAT</code> 또는 <code>CONCAT_WS</code> 함수가 결과 집합을 허용하지 않는 것 같습니다. </p> <p>여기에 이 ​​작업을 수행하는 방법을 아는 사람이 있나요? </p>
P粉556159786P粉556159786546일 전539

모든 응답(2)나는 대답할 것이다

  • P粉366946380

    P粉3669463802023-08-23 12:03:30

    MySQL 버전(4.1)이 지원하는 경우 확인할 수 있습니다 GROUP_CONCAT. 자세한 내용은 문서를 참조하세요.

    쿼리문은 다음과 같습니다.

    으아아아

    회신하다
    0
  • P粉002023326

    P粉0020233262023-08-23 10:26:52

    GROUP_CONCAT 기능을 사용할 수 있습니다:

    으아악

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

    으아악

    Jan이 댓글에서 언급했듯이 ORDER BY:

    를 사용하여 병합하기 전에 값을 정렬할 수도 있습니다. 으아악

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

    으아악

    물론 필요에 따라 2048 값을 변경할 수 있습니다. 값을 계산하고 할당하는 방법은 다음과 같습니다.

    으아악

    회신하다
    0
  • 취소회신하다