MySQL은 인기 있는 관계형 데이터베이스 관리 시스템입니다. 강력한 행-열 변환 기능을 제공하여 사용자가 보다 편리하게 데이터를 조작할 수 있도록 해줍니다. 행-열 변환이란 무엇입니까? 행-열 변환은 테이블의 행 데이터를 열 데이터로 변환하거나, 열 데이터를 행 데이터로 변환하는 것을 의미합니다. 이 글에서는 MySQL의 행-열 변환 기능을 사용하는 방법을 소개합니다.
MySQL에서는 PIVOT 및 UNPIVOT 함수를 사용하여 테이블의 행 데이터를 열 데이터로 변환할 수 있습니다. PIVOT 함수는 테이블의 행 데이터를 열 데이터로 변환하고, UNPIVOT 함수는 테이블의 열 데이터를 행 데이터로 변환합니다.
다음은 예입니다. 학생의 이름, 과목, 성적을 포함하는 학생 테이블이 있다고 가정합니다.
학생 이름 | 과목 | Achievements |
---|---|---|
Xiao Ming | 수학 | 90 |
Xiao Ming | 영어 | 8 0 |
小红 | 수학 | 95 |
小红 | English | 85 |
PIVOT 함수를 사용하여 학생의 점수를 다음 형식으로 변환할 수 있습니다.
학생 이름 | 수학 점수 | 영어 점수 |
---|---|---|
Xiao Ming | 90 | 80 |
小红 | 95 | 85 |
은 다음 코드로 구현됩니다.
SELECT 学生姓名, MAX(CASE WHEN 科目 = '数学' THEN 成绩 ELSE NULL END) AS 数学成绩, MAX(CASE WHEN 科目 = '英语' THEN 成绩 ELSE NULL END) AS 英语成绩 FROM students GROUP BY 学生姓名;
그 중 MAX 함수를 사용하는데요 최대 점수 값을 얻습니다. 조건이 true가 아닌 경우 NULL을 반환합니다.
PIVOT 함수에 해당하는 것이 UNPIVOT 함수로, 테이블의 열 데이터를 행 데이터로 변환하는 데 사용됩니다. 아래는 예시입니다. 매월 각 영업사원의 판매 기록을 포함하는 판매 테이블이 있다고 가정합니다.
판매원 | 1월 판매 | 2월 판매 | 3월 판매 |
---|---|---|---|
샤오밍 | 10000 | 20000 | 15 000 |
小红 | 12000 | 18000 | 11000 |
UNPIVOT 함수를 사용하여 판매 기록을 다음 형식으로 변환할 수 있습니다.
Salesperson | Month | Sales |
---|---|---|
Xiao Ming | Janu 아리 | 10000 |
샤오밍 | 2월 | 20000 |
샤오밍 | 3월 | 15000 |
Xiaohong | 1월 | 12000 |
작은红 | 2월 | 18000 |
작은红 | March | 11000 |
은 다음 코드로 구현됩니다.
SELECT 销售员, MONTH, 销售额 FROM sales UNPIVOT( 销售额 FOR MONTH IN ([1月], [2月], [3月]) ) AS unpvt;
그 중 UNPIVOT 함수의 FOR 절을 사용하여 변환할 열을 지정합니다. 이 예에서는 변환할 열을 [1월], [2월], [3월]로 지정합니다.
요약
열 및 열 변환은 특히 보고서 및 비즈니스 데이터 분석과 관련된 시나리오에서 매우 실용적인 기능입니다. MySQL은 사용자가 보다 편리하게 데이터를 변환할 수 있도록 PIVOT 및 UNPIVOT 기능을 제공합니다. 이 두 가지 기능을 능숙하게 사용할 수 있으면 데이터베이스 작업이 매우 편리해집니다.
위 내용은 mysql에서 행-열 변환을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!