>데이터 베이스 >MySQL 튜토리얼 >PostgreSQL에서 JSON 개체 배열과 동일한 행의 여러 열을 반환하는 방법은 무엇입니까?

PostgreSQL에서 JSON 개체 배열과 동일한 행의 여러 열을 반환하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2025-01-14 22:01:49543검색

How to Return Multiple Columns from the Same Row as a JSON Array of Objects in PostgreSQL?

PostgreSQL에서 여러 열을 JSON 개체 배열로 반환

PostgreSQL은 데이터를 JSON 개체 배열로 쿼리하고 형식을 지정하여 특정 열을 기준으로 결과를 그룹화하는 여러 가지 접근 방식을 제공합니다. 다음은 다양한 PostgreSQL 버전에 대한 메서드 분석입니다.

PostgreSQL 10 이상

집계된 JSON 개체에서 특정 키를 제거하려면 집계 전에 - 연산자를 사용하세요. 오버로드된 함수의 모호성을 해결하려면 text[]에 대한 명시적 캐스팅이 필요합니다.

<code class="language-sql">SELECT val2, jsonb_agg(to_jsonb(t.*) - '{id, val2}'::text[]) AS js_34
FROM   tbl
GROUP  BY val2;</code>

PostgreSQL 9.4 이상

jsonb_build_object()을 활용하여 키-값 쌍에서 JSON 개체를 구성합니다.

<code class="language-sql">SELECT val2, jsonb_agg(jsonb_build_object('val3', val3, 'val4', val4)) AS js_34
FROM   tbl 
GROUP  BY val2;</code>

PostgreSQL 9.3 이상

ROW 표현식 또는 하위 쿼리와 함께 to_jsonb()을 사용하여 객체 배열을 생성합니다.

<code class="language-sql">SELECT val2, jsonb_agg(to_jsonb((val3, val4))) AS js_34
FROM   tbl
GROUP  BY val2;</code>

또는:

<code class="language-sql">SELECT val2, jsonb_agg(to_jsonb((SELECT t FROM (SELECT val3, val4) t))) AS js_34
FROM   tbl
GROUP  BY val2;</code>

이러한 방법은 데이터를 검색 및 구조화하고, 값을 그룹화하고, 단일 행에서 여러 열을 나타내는 객체의 JSON 배열을 생성하는 효율적인 방법을 제공합니다.

위 내용은 PostgreSQL에서 JSON 개체 배열과 동일한 행의 여러 열을 반환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.