>데이터 베이스 >MySQL 튜토리얼 >동적 데이터를 사용하여 MySQL에서 행에서 열로 변환(피벗)을 수행하는 방법은 무엇입니까?

동적 데이터를 사용하여 MySQL에서 행에서 열로 변환(피벗)을 수행하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-28 11:51:10868검색

How to Perform Row to Column Transformation (Pivot) in MySQL with Dynamic Data?

MySQL의 행에서 열로의 변환: 동적 데이터의 피벗 테이블

피벗 테이블은 행 중심에서 데이터를 변환하는 편리한 방법입니다. 열 중심 형식으로 형식을 지정하여 더 쉽게 분석하고 보고할 수 있습니다. MySQL에서는 특수 기술을 통해 이러한 변환을 수행할 수 있습니다.

다음 예제 데이터를 고려하세요.

ID Type Email Degignation
1000000000 202 [email protected] Entrepreneur
1000000000 234 [email protected] Engineering,Development
1000000000 239 [email protected] CTO

이 데이터를 피벗하려면 다음 쿼리를 사용합니다.

SELECT ID, 
 MAX(CASE Type WHEN 202 THEN Degignation END) AS `202`
 MAX(CASE Type WHEN 234 THEN Degignation END) AS `234`
 MAX(CASE Type WHEN 239 THEN Degignation END) AS `239`
 Email
FROM mytable
GROUP BY ID, Email

이 쿼리는 CASE 표현식을 사용하여 각 고유 Type 값에 대한 열을 동적으로 생성합니다. MAX 함수는 각 ID와 이메일 조합의 Degignation 값을 집계하는 데 사용됩니다.

이 쿼리가 효과적으로 작동하려면 가능한 모든 유형 값을 미리 알아야 한다는 점에 유의하는 것이 중요합니다. MySQL은 런타임 시 발견된 데이터를 기반으로 한 열의 동적 추가를 허용하지 않습니다. 열 정의는 쿼리 준비 중에 정적이어야 합니다.

이 기술을 사용하면 행 기반 데이터를 열 기반 형식으로 변환하여 보다 직관적인 데이터 표현을 제공함으로써 분석 및 보고 작업을 용이하게 할 수 있습니다.

위 내용은 동적 데이터를 사용하여 MySQL에서 행에서 열로 변환(피벗)을 수행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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