집 >데이터 베이스 >MySQL 튜토리얼 >PostgreSQL GROUP BY 쿼리 내에서 문자열을 연결하는 방법은 무엇입니까?
GROUP BY
쿼리에서 문자열을 연결하는 방법은 무엇입니까? 질문:
PostgreSQL에서 GROUP BY
쿼리의 필드 문자열을 연결하는 방법은 무엇입니까?
예:
다음 스키마가 포함된 테이블을 생각해 보세요.
ID | COMPANY_ID | EMPLOYEE |
---|---|---|
1 | 1 | Anna |
2 | 1 | Bill |
3 | 2 | Carol |
4 | 2 | Dave |
목표는 COMPANY_ID
을 기준으로 그룹화하고 EMPLOYEE
값을 연결하여 다음과 같은 결과를 얻는 것입니다.
COMPANY_ID | EMPLOYEE |
---|---|
1 | Anna, Bill |
2 | Carol, Dave |
해결책:
PostgreSQL 9.0 이상:
string_agg(expression, delimiter)
기능 사용: <code class="language-sql">SELECT company_id, string_agg(employee, ', ') FROM mytable GROUP BY company_id;</code>
PostgreSQL 8.4.x:
array_agg(expression)
기능을 사용하여 array_to_string()
: <code class="language-sql">SELECT company_id, array_to_string(array_agg(employee), ', ') FROM mytable GROUP BY company_id;</code>
PostgreSQL 8.3.x 이하:
<code class="language-sql">CREATE AGGREGATE textcat_all( basetype = text, sfunc = textcat, stype = text, initcond = '' ); SELECT company_id, textcat_all(employee) FROM mytable GROUP BY company_id;</code>
위 내용은 PostgreSQL GROUP BY 쿼리 내에서 문자열을 연결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!