찾다

 >  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>하지만 행 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粉482108310P粉482108310461일 전410

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

  • P粉520545753

    P粉5205457532023-08-29 09:04:00

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

    다음과 같습니다:

    으아악

    회신하다
    0
  • P粉041856955

    P粉0418569552023-08-29 00:29:10

    GROUP_CONCAT< /代码>을 사용할 수 있습니다.

    으아악

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

    으아악

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

    으아악

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

    으아악

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

    으아악

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