> 데이터 베이스 > MySQL 튜토리얼 > GROUP BY를 사용하여 DB2에서 행을 열로 피벗하는 방법은 무엇입니까?

GROUP BY를 사용하여 DB2에서 행을 열로 피벗하는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2025-01-05 10:32:41
원래의
752명이 탐색했습니다.

How to Pivot Rows into Columns in DB2 Using GROUP BY?

DB2에서 피벗

이 질문은 DB2 테이블의 행을 열로 바꾸는 것과 관련이 있습니다. 제공된 데이터는 ItemID, Item 및 Value 열로 구성됩니다. 목표는 이 데이터를 전치된 형식으로 변환하는 것입니다. 즉, Meeting, Advise 및 NoAdvise 값이 열로 정렬되고 ItemID가 행 식별자 역할을 합니다.

이 피벗을 실행하는 한 가지 접근 방식은 다음과 같습니다. 여러 MAX() 표현식과 함께 GROUP BY 절을 활용합니다. MAX()를 사용하고 CASE 문 내에서 각 항목 유형에 대한 기준을 지정하면 해당 값을 검색할 수 있습니다. 예:

SELECT 
  ItemID,
  MAX(CASE WHEN Item = 'Meeting'  THEN Value END) AS Meeting,
  MAX(CASE WHEN Item = 'Advise'   THEN Value END) AS Advise,
  MAX(CASE WHEN Item = 'NoAdvise' THEN Value END) AS NoAdvise
FROM table_name
GROUP BY ItemID
로그인 후 복사

이 쿼리는 ItemID가 기본 키 역할을 하고 Meeting, Advise 및 NoAdvise가 열 헤더가 되는 원하는 전치 형식을 생성합니다. GROUP BY 절은 데이터가 ItemID별로 그룹화되어 각 항목에 대해 고유한 행을 제공하도록 보장합니다.

또는 이 포럼에서 현재 허용되는 답변에서 제안한 대로 여러 상관 하위 쿼리를 활용하여 동일한 결과를 얻을 수 있습니다. . 그러나 특히 대규모 데이터 세트의 경우 하위 쿼리 접근 방식이 보다 효율적인 GROUP BY 솔루션에 비해 성능 문제에 직면할 수 있다는 점은 주목할 만합니다.

위 내용은 GROUP BY를 사용하여 DB2에서 행을 열로 피벗하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿