> 데이터 베이스 > MySQL 튜토리얼 > MySQL에서 길거나 긴 데이터를 와이드 형식으로 어떻게 재구성할 수 있습니까?

MySQL에서 길거나 긴 데이터를 와이드 형식으로 어떻게 재구성할 수 있습니까?

Mary-Kate Olsen
풀어 주다: 2024-12-21 01:38:14
원래의
433명이 탐색했습니다.

How Can I Reshape Long/Tall Data to Wide Format in MySQL?

MySQL에서 데이터 재구성: 긴/긴 형식을 와이드 형식으로 변환

데이터 분석에서는 긴 형식의 데이터를 재구성해야 하는 경우가 많습니다. /tall 형식을 와이드 형식으로 변환합니다. 이 변환은 여러 행과 열이 있는 테이블을 더 적은 수의 행과 더 많은 열이 있는 테이블로 변환합니다.

문제 설명

세로/세로 형식의 데이터가 있는 MySQL 테이블을 생각해 보세요. 여기서 각 행은 국가, 키, 값이 포함된 단일 관찰을 나타냅니다. 목표는 국가별로 하나의 행을, 각 키별로 열을 사용하여 데이터를 넓은 형식으로 재구성하는 것입니다.

SQL 솔루션

MySQL은 기본 제공 기능을 제공합니다. 이 변환을 수행하기 위해 크로스탭 또는 피벗 테이블이라고 합니다. 방법은 다음과 같습니다.

1. 키 식별

쿼리를 사용하여 원본 테이블에서 고유한 키를 선택합니다.

이 쿼리의 출력은 핵심 요소 목록을 제공합니다.

2. 와이드 테이블 생성

다음 구조로 새 테이블을 생성합니다.

key1, ..., keyN을 1단계에서 얻은 실제 키 이름으로 바꿉니다. newPkey 열은 와이드 테이블의 각 행을 고유하게 식별하는 데 사용되는 자동 증가 기본 키입니다.

3. 테이블 값 채우기

크로스탭 쿼리를 사용하여 넓은 테이블을 채웁니다.

이 쿼리는 조건부 집계(MAX 및 IF)를 활용하여 키 열에 값을 할당합니다. 각 국가마다. 동일한 국가에 대해 중복된 키가 있는 행은 MAX 기능을 사용하여 제거됩니다.

입력 예 및 출력

입력:

country attrName attrValue key
US President Obama 2
US Currency Dollar 3
China President Hu 4
China Currency Yuan 5

출력:

country President Currency newPkey
US Obama Dollar 1
China Hu Yuan 2

이 예는 MySQL 크로스탭을 사용하여 긴 형식부터 넓은 형식까지.

위 내용은 MySQL에서 길거나 긴 데이터를 와이드 형식으로 어떻게 재구성할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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