mysql row to column, column to row The sentence is not difficult, so I won't explain it in detail. When reading the sentence, analyze it sentence by sentence from the inside out. Row to Column There is a table as shown in the figure. Now we want to convert the rows into columns in the query result. The table creation statement is as follows: CREATE TABLE `TEST_TB_GRADE` ( `ID` int(10) NOT NULL AUTO_INCREMENT, `USER_NAME` varchar(20) DEFAULT NULL, `COURSE` varchar(20) DEFAULT NULL, `SCORE` float DEFAULT '0', PRIMARY KEY (`ID`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; insert into TEST_TB_GRADE(USER_NAME, COURSE, SCORE) values ("Zhang San", "Mathematics", 34), ("Zhang San", "Chinese", 58), ("Zhang San", "English", 58), ("Li Si", "Mathematics", 45), ("Li Si", "Chinese", 87), ("Li Si", "English", 45), ("Wang Wu", "Mathematics", 76), ("Wang Wu", "Chinese", 34), ("Wang Wu", "English", 89); Query statement: The reason why MAX is used here is to set the points with no data to 0 to prevent NULL SELECT user_name , MAX(CASE course WHEN '数学' THEN score ELSE 0 END ) Mathematics, MAX(CASE course WHEN 'Chinese' THEN score ELSE 0 END ) Chinese, MAX(CASE course WHEN 'English' THEN score ELSE 0 END ) English FROM test_tb_grade GROUP BY USER_NAME; Results: Column to Row There is a table as shown in the figure. Now we hope that the query results will be listed in rows The table creation statement is as follows: CREATE TABLE `TEST_TB_GRADE2` ( `ID` int(10) NOT NULL AUTO_INCREMENT, `USER_NAME` varchar(20) DEFAULT NULL, `CN_SCORE` float DEFAULT NULL, `MATH_SCORE` float DEFAULT NULL, `EN_SCORE` float DEFAULT '0', PRIMARY KEY (`ID`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; insert into TEST_TB_GRADE2(USER_NAME, CN_SCORE, MATH_SCORE, EN_SCORE) values ("Zhang San", 34, 58, 58), ("Li Si", 45, 87, 45), ("Wang Wu", 76, 34, 89); Query statement: select user_name, 'Language' COURSE , CN_SCORE as SCORE from test_tb_grade2 union select user_name, '数学' COURSE, MATH_SCORE as SCORE from test_tb_grade2 union select user_name, 'English' COURSE, EN_SCORE as SCORE from test_tb_grade2 order by user_name,COURSE; Results: Thank you for reading, I hope it can help you, thank you for your support of this site! You may also be interested in:
|
Table of contents Method 1: set: It is not a data...
Table of contents 1. Overview of MySQL Logical Ar...
In many cases, large and medium-sized websites wi...
Table of contents MySQL multiple instances Multi-...
This article example shares the specific code of ...
Vulnerability Introduction The SigRed vulnerabili...
<br />Related articles: How to prompt and op...
Vue parent component calls the function of the ch...
Step 1: Get the MySQL YUM source Go to the MySQL ...
What to do if you forget your Linux/Mac MySQL pas...
*Create a page: two input boxes and a button *Cod...
Table of contents Two ways to solve the problem o...
The definition and inheritance of classes in JS a...
Problem: vue-cil3 runs with warnings potentially ...
VirtualBox is a free and open source virtualizati...