SQL 테이블에서 각 영화의 배우 이름 결합
'영화' 및 '배우' 열이 있는 테이블을 상상해 보세요. 이 작업은 각 영화의 모든 배우를 단일 문자열로 결합하여 영화 및 해당 배우 목록을 검색하는 것입니다.
string_agg()
:
가장 효율적인 방법은 string_agg()
함수를 사용하는 것입니다(PostgreSQL 9.0 이상에서 사용 가능).
<code class="language-sql">SELECT movie, string_agg(actor, ', ') AS actor_list FROM table_name GROUP BY movie;</code>
string_agg()
은 각 영화에 대해 배우 이름을 쉼표로 구분하여 연결합니다. GROUP BY movie
영화당 한 행을 보장합니다.
이전 PostgreSQL 버전(9.0 이전)에 대한 대안:
이전 PostgreSQL 버전의 경우 array_agg()
및 array_to_string()
을 사용하세요.
<code class="language-sql">SELECT movie, array_to_string(array_agg(actor ORDER BY actor), ', ') AS actor_list FROM table_name GROUP BY movie;</code>
배우를 배열로 집계한 다음 이를 쉼표로 구분된 문자열로 변환합니다. ORDER BY actor
절은 각 영화 목록 내에서 배우를 알파벳순으로 정렬합니다.
배우 목록 순서 사용자 정의:
각 목록 내의 배우 순서를 제어하려면(예: 청구 순서 기준) ORDER BY
내부에 string_agg()
을 추가하거나 array_agg()
:
<code class="language-sql">SELECT movie, string_agg(actor, ', ' ORDER BY actor) AS actor_list --Alphabetical order FROM table_name GROUP BY movie;</code>
이러한 접근 방식은 영화배우 관계 표현을 간소화하고 데이터 분석 및 표시를 용이하게 합니다.
위 내용은 SQL 테이블에서 각 영화의 배우를 연결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!