>데이터 베이스 >MySQL 튜토리얼 >SQL에서 데이터 피벗을 해제하고 열 이름을 새 열로 포함하는 방법은 무엇입니까?

SQL에서 데이터 피벗을 해제하고 열 이름을 새 열로 포함하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2025-01-21 04:37:07905검색

How to Unpivot Data and Include Column Names as a New Column in SQL?

SQL에서 넓은 데이터를 긴 형식으로 변환

StudentMarks, Name, MathsScience 열이 있는 English이라는 테이블이 있다고 가정해 보겠습니다. 목표는 이 넓은 형식의 데이터를 제목 이름이 새 열이 되는 긴 형식으로 변환하는 것입니다. 대상 출력은 다음과 유사해야 합니다.

<code>Name  Subject  Marks
Tilak Maths    90
Tilak Science  40
Tilak English  60</code>

UNPIVOT 연산자를 사용하는 일반적인 접근 방식은 처음에는 열 이름을 새 열로 포함하는 데 어려워 보일 수 있습니다. 그러나 해결책은 간단합니다.

<code class="language-sql">SELECT
  u.name,
  u.subject,
  u.marks
FROM StudentMarks AS s
UNPIVOT (
  marks FOR subject IN (Maths, Science, English)
) AS u;</code>

이 SQL 쿼리는 UNPIVOT을 사용하여 StudentMarks 테이블(별칭 's')을 재구성합니다. FOR 내의 UNPIVOT 절은 피벗 해제할 열(Maths, Science, English)을 지정하며, 이러한 열 이름은 결과 데이터세트의 새 Subject 열을 자동으로 채웁니다. marks 값은 피벗되지 않은 테이블의 marks 열에 할당됩니다. 이 수정된 쿼리는 원하는 이름, 제목, 표시 열을 긴 형식으로 효율적으로 생성합니다.

위 내용은 SQL에서 데이터 피벗을 해제하고 열 이름을 새 열로 포함하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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