>데이터 베이스 >MySQL 튜토리얼 >SQL에서 원래 열 이름을 유지하면서 데이터 피벗을 어떻게 해제할 수 있습니까?

SQL에서 원래 열 이름을 유지하면서 데이터 피벗을 어떻게 해제할 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2025-01-21 04:51:08666검색

How Can I Unpivot Data While Keeping Original Column Names in SQL?

데이터 디콘볼루션을 위해 원래 열 이름 유지

데이터 디콘볼루션(Unpivoting)은 표 형식의 데이터를 다른 형식으로 변환하는 프로세스입니다. 여기서 각 열은 행이 되고 해당 열 이름은 행의 속성이 됩니다. 이는 일반적으로 분석이나 시각화를 위해 데이터의 모양을 변경하는 데 사용되지만 경우에 따라 원래 열 이름을 유지하는 것이 유용할 수 있습니다.

질문:

Name, Maths, Science, English과 같은 열 이름이 있는 데이터 테이블이 있는 경우 데이터를 어떻게 디콘볼루션하여 다음 결과 집합을 얻습니까?

Name Subject Marks
Tilak Maths 90
Tilak Science 40
Tilak English 60

해결책:

SQL의 UNPIVOT 절을 사용하면 열 이름을 유지하면서 데이터를 분리할 수 있습니다.

<code class="language-sql">select u.name, u.subject, u.marks
from student s
unpivot
(
  marks
  for subject in (Maths, Science, English)
) u;</code>

UNPIVOT 절은 Maths, ScienceEnglish 열을 행으로 변환하고 점수는 분리된 결과 집합의 "마크" 열이 됩니다. 동시에 열 이름은 "주제" 열에 그대로 유지됩니다.

예:

다음 데이터세트를 고려하세요.

Name Maths Science English
Tilak 90 40 60
Raj 30 20 10

제공된 쿼리를 이 데이터 세트에 적용하면 원하는 결과가 생성됩니다.

Name Subject Marks
Tilak Maths 90
Tilak Science 40
Tilak English 60
Raj Maths 30
Raj Science 20
Raj English 10

이 기술은 추가 분석이나 데이터 처리를 위해 원래 열 이름을 유지하는 것이 중요할 때 유용합니다.

위 내용은 SQL에서 원래 열 이름을 유지하면서 데이터 피벗을 어떻게 해제할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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