In diesem Artikel werden hauptsächlich die zugehörigen Informationen zu MySQLZeilen-zu-Spalte- und Spalten-zu-Zeilen-Beispielen vorgestellt. Freunde, die sie benötigen, können sich auf
MySQL-Zeilen-zu-Spalte-zu-Spalte-zu-Beispiele beziehen Zeile.
Die Aussage ist nicht schwierig, deshalb werde ich sie nicht zu sehr erklären. Wenn Sie die Aussage lesen, analysieren Sie sie Satz für Satz von innen nach außen
Zeilen in Spalten konvertieren
Es gibt eine Tabelle wie im Bild gezeigt. Jetzt möchte ich, dass die Abfrageergebnisse Zeilen in Spalten konvertieren
Die Anweisung zur Tabellenerstellung lautet wie folgt:
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 ("张三", "数学", 34), ("张三", "语文", 58), ("张三", "英语", 58), ("李四", "数学", 45), ("李四", "语文", 87), ("李四", "英语", 45), ("王五", "数学", 76), ("王五", "语文", 34), ("王五", "英语", 89);
Abfrageanweisung:
Der Grund, warum MAX hier verwendet wird, besteht darin, die Punkte ohne Daten festzulegen 0, um NULL zu verhindern
SELECT user_name , MAX(CASE course WHEN '数学' THEN score ELSE 0 END ) 数学, MAX(CASE course WHEN '语文' THEN score ELSE 0 END ) 语文, MAX(CASE course WHEN '英语' THEN score ELSE 0 END ) 英语 FROM test_tb_grade GROUP BY USER_NAME;
Ergebnisanzeige:
Spalte zu Zeile
Es gibt eine Tabelle wie im Bild gezeigt, jetzt hoffe ich, dass die Abfrageergebnisse in Zeilen aufgelistet werden
Die Anweisung zur Tabellenerstellung lautet wie folgt:
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 ("张三", 34, 58, 58), ("李四", 45, 87, 45), ("王五", 76, 34, 89);
Abfrageanweisung:
select user_name, '语文' 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, '英语' COURSE, EN_SCORE as SCORE from test_tb_grade2 order by user_name,COURSE;
Ergebnisanzeige:
Das obige ist der detaillierte Inhalt vonBeispielcode-Freigabe zur Implementierung der MySQL-Zeilen-zu-Spalte- und Spalte-zu-Zeilen-Konvertierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!