>데이터 베이스 >MySQL 튜토리얼 >MySQL에서 긴 형식에서 넓은 형식으로 데이터를 효율적으로 재구성하는 방법은 무엇입니까?

MySQL에서 긴 형식에서 넓은 형식으로 데이터를 효율적으로 재구성하는 방법은 무엇입니까?

DDD
DDD원래의
2024-12-29 01:40:10538검색

How to Efficiently Reshape Data from Long to Wide Format in MySQL?

MySQL에서 긴 형식에서 넓은 형식으로 데이터 재형성

소개:

긴(긴) 형식에서 데이터 재형성 데이터를 조작할 때 넓은 형식으로 변환하는 것이 필요할 수 있습니다. MySQL은 외부 스크립팅 언어에 의존하지 않고 이 작업을 수행할 수 있는 기능을 제공합니다.

와이드 형식 테이블 생성:

  1. 첫 번째 단계 긴 형식으로 존재하는 모든 고유 키 목록을 얻는 것입니다. 테이블:

    SELECT DISTINCT key FROM table;
  2. 얻은 키를 사용하여 원하는 와이드 형식 구조로 새 테이블을 만듭니다.

    CREATE TABLE wide_table (
        country VARCHAR(255),
        key1 VARCHAR(255),
        key2 VARCHAR(255),
        ...,
        keyN VARCHAR(255)
    );

표 채우기 값:

  1. 마지막으로 크로스탭 쿼리를 사용하여 와이드 형식 테이블에 데이터를 삽입합니다.

    INSERT INTO wide_table (
        country,
        key1,
        key2,
        ...,
        keyN
    )
    SELECT
        country,
        MAX(IF(key = 'key1', value, NULL)) AS key1,
        MAX(IF(key = 'key2', value, NULL)) AS key2,
        ...,
        MAX(IF(key = 'keyN', value, NULL)) AS keyN
    FROM table
    GROUP BY country;

예:

긴 형식 입력을 고려하세요. 테이블:

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

위 단계를 사용하여 데이터를 와이드 형식으로 재구성할 수 있습니다.

와이드 형식 출력:

country President Currency
US Obama Dollar
China Hu Yuan

이용 시 이점 SQL:

  • 효율성: SQL 쿼리는 데이터베이스 작업에 최적화되어 처리 시간을 최소화합니다.
  • 선언적: SQL은 다음을 허용합니다. 원하는 변환을 간결하고 읽기 쉽게 표현합니다.
  • 이식성: SQL 쿼리는 다양한 MySQL 데이터베이스에서 실행될 수 있으므로 수정 없이 호환성이 보장됩니다.
  • 유지관리성: SQL 쿼리가 개발되었으므로 필요에 따라 쉽게 유지 관리하고 변경할 수 있습니다.

위 내용은 MySQL에서 긴 형식에서 넓은 형식으로 데이터를 효율적으로 재구성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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