집 >데이터 베이스 >MySQL 튜토리얼 >MySQL에서 긴 형식에서 넓은 형식으로 데이터를 효율적으로 재구성하는 방법은 무엇입니까?
소개:
긴(긴) 형식에서 데이터 재형성 데이터를 조작할 때 넓은 형식으로 변환하는 것이 필요할 수 있습니다. MySQL은 외부 스크립팅 언어에 의존하지 않고 이 작업을 수행할 수 있는 기능을 제공합니다.
와이드 형식 테이블 생성:
첫 번째 단계 긴 형식으로 존재하는 모든 고유 키 목록을 얻는 것입니다. 테이블:
SELECT DISTINCT key FROM table;
얻은 키를 사용하여 원하는 와이드 형식 구조로 새 테이블을 만듭니다.
CREATE TABLE wide_table ( country VARCHAR(255), key1 VARCHAR(255), key2 VARCHAR(255), ..., keyN VARCHAR(255) );
표 채우기 값:
마지막으로 크로스탭 쿼리를 사용하여 와이드 형식 테이블에 데이터를 삽입합니다.
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:
위 내용은 MySQL에서 긴 형식에서 넓은 형식으로 데이터를 효율적으로 재구성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!