집 >데이터 베이스 >MySQL 튜토리얼 >SQL을 사용하여 MySQL 데이터를 좁은 형식에서 넓은 형식으로 재구성하는 방법은 무엇입니까?
소개
데이터는 다양한 형식으로 제공되는 경우가 많으며, 한 형식에서 다른 형식으로 변환해야 합니다. 일반적인 변환 중 하나는 좁은 테이블의 여러 열이 넓은 테이블의 여러 행이 되는 좁은/긴 형식에서 넓은 형식으로의 변환입니다. 이 기사에서는 MySQL에서 이러한 변환을 수행하는 방법을 살펴봅니다.
와이드 테이블 구조 생성
와이드 형식 테이블을 생성하려면 먼저 좁은 테이블에서 모든 고유 키를 식별합니다. 테이블. 이는 다음 쿼리를 사용하여 달성할 수 있습니다.
select distinct key from table;
이 쿼리의 결과는 좁은 테이블의 모든 고유 키 목록을 제공합니다. 이러한 키는 와이드 형식 테이블의 열 이름이 됩니다. 예를 들어 고유 키가 ['President', 'Currency']인 경우 와이드 형식 테이블은 다음 구조를 갖습니다.
country, President, Currency
와이드 테이블 데이터 채우기
와이드 형식 테이블의 값을 채우려면 MAX() 또는 GROUP_CONCAT():
SELECT country, MAX( IF( key='President', value, NULL ) ) AS President, MAX( IF( key='Currency', value, NULL ) ) AS Currency FROM table GROUP BY country;
이 예에서는 MAX() 집계 함수를 사용하여 각 국가 내 각 키의 최대값을 검색합니다. 이 쿼리는 다음과 같은 결과를 생성합니다.
country, President, Currency US, Obama, Dollar China, Hu, Yuan
대체 접근 방식: 크로스탭 또는 피벗 테이블
와이드 형식 테이블을 생성하는 또 다른 접근 방식은 다음을 사용하는 것입니다. 크로스탭 또는 피벗 테이블. 이는 사용하려는 열과 집계 함수를 지정할 수 있는 MySQL의 PIVOT 연산자와 같은 도구를 사용하여 달성할 수 있습니다.
결론
좁은 범위에서 데이터 재구성 SQL 집계 함수 또는 크로스탭/피벗 테이블을 사용하여 MySQL에서 와이드 형식으로 쉽게 구현할 수 있습니다. 이 변환은 차트 및 그래프와 같은 데이터 시각화 도구로 작업할 때 특히 유용합니다.
위 내용은 SQL을 사용하여 MySQL 데이터를 좁은 형식에서 넓은 형식으로 재구성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!