>데이터 베이스 >MySQL 튜토리얼 >CASE 및 집계 함수를 사용하여 MySQL에서 행을 열로 피벗하는 방법은 무엇입니까?

CASE 및 집계 함수를 사용하여 MySQL에서 행을 열로 피벗하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-03 02:28:11802검색

How to Pivot Rows into Columns in MySQL Using CASE and Aggregate Functions?

MySQL에서 행을 열로 변환하는 방법

피벗 테이블은 데이터를 더 쉬운 형식으로 재정렬하는 데 사용되는 일반적인 데이터 변환입니다. 읽고 분석해보세요. 이 시나리오에서는 여러 행이 포함된 결과 집합을 각각의 고유한 유형 값에 대한 열과 각 고유 ID 및 이메일 조합에 대한 행이 있는 테이블로 변환하려고 합니다.

MySQL에서 이를 달성하려면 다음을 사용할 수 있습니다. 다음 쿼리:

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 값을 기반으로 각 행의 Degignation 값을 조건부로 설정합니다. 그런 다음 MAX() 집계 함수는 각 ID 및 이메일 그룹 내의 각 유형에 대한 최대 Degignation 값을 반환합니다.

참고: 자리 표시자 테이블 이름(mytable)을 데이터가 포함된 실제 테이블 이름입니다. 또한 SQL은 쿼리 실행 중에 열의 동적 추가를 허용하지 않으므로 모든 고유한 Type 값을 미리 알아야 합니다.

위 내용은 CASE 및 집계 함수를 사용하여 MySQL에서 행을 열로 피벗하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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