>데이터 베이스 >MySQL 튜토리얼 >SQL에서 데이터 피벗을 해제하고 열 이름을 유지하려면 어떻게 해야 합니까?

SQL에서 데이터 피벗을 해제하고 열 이름을 유지하려면 어떻게 해야 합니까?

Linda Hamilton
Linda Hamilton원래의
2025-01-21 04:33:08200검색

How Can I Unpivot Data and Retain Column Names in SQL?

"역방향" 작업을 사용하여 데이터를 재구성하고 열 이름을 보존하세요

"역방향" 작업은 테이블 형식 데이터를 재구성하는 데 중요한 도구입니다. 이는 데이터를 열 기반 형식에서 행 기반 형식으로 변환할 수 있습니다. 일반적인 시나리오는 원본 테이블에서 데이터와 열 이름을 추출하는 것입니다.

다양한 과목의 학생 성과를 추적하는 StudentMarks라는 다음 테이블을 살펴보세요.

姓名 数学 科学 英语
Tilak 90 40 60
Raj 30 20 10

원하는 출력은 이름, 주제, 점수의 3개 열로 구성된 재구성된 테이블입니다.

姓名 科目 分数
Tilak 数学 90
Tilak 科学 40
Tilak 英语 60

이를 달성하기 위해 아래와 같이 "invert" 작업을 사용할 수 있습니다.

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

이 쿼리는 이름과 계정 정보를 유지하면서 StudentMarks 테이블의 데이터를 성공적으로 되돌립니다. "FOR" 절은 데이터를 추출할 열 이름을 지정합니다.

언급하신 대로 원래 쿼리에서는 이름과 분수 값이 성공적으로 바뀌었지만 계정 열이 누락되었습니다. 수정된 쿼리는 최종 선택 목록에 계정 열을 포함시켜 이 문제를 해결합니다.

이 솔루션은 테이블 형식 데이터를 재구성하는 유연한 방법을 제공하여 데이터 값과 해당 열 이름을 추출할 수 있습니다.

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

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