Heim > Datenbank > MySQL-Tutorial > Hauptteil

Beispielcode-Freigabe zur Implementierung der MySQL-Zeilen-zu-Spalte- und Spalte-zu-Zeilen-Konvertierung

黄舟
Freigeben: 2017-03-23 13:43:16
Original
2250 Leute haben es durchsucht

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

Beispielcode-Freigabe zur Implementierung der MySQL-Zeilen-zu-Spalte- und Spalte-zu-Zeilen-Konvertierung

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;
Nach dem Login kopieren
insert into TEST_TB_GRADE(USER_NAME, COURSE, SCORE) values
("张三", "数学", 34),
("张三", "语文", 58),
("张三", "英语", 58),
("李四", "数学", 45),
("李四", "语文", 87),
("李四", "英语", 45),
("王五", "数学", 76),
("王五", "语文", 34),
("王五", "英语", 89);
Nach dem Login kopieren

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;
Nach dem Login kopieren

Ergebnisanzeige:

Beispielcode-Freigabe zur Implementierung der MySQL-Zeilen-zu-Spalte- und Spalte-zu-Zeilen-Konvertierung

Spalte zu Zeile

Es gibt eine Tabelle wie im Bild gezeigt, jetzt hoffe ich, dass die Abfrageergebnisse in Zeilen aufgelistet werden

Beispielcode-Freigabe zur Implementierung der MySQL-Zeilen-zu-Spalte- und Spalte-zu-Zeilen-Konvertierung

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;
Nach dem Login kopieren
insert into TEST_TB_GRADE2(USER_NAME, CN_SCORE, MATH_SCORE, EN_SCORE) values
("张三", 34, 58, 58),
("李四", 45, 87, 45),
("王五", 76, 34, 89);
Nach dem Login kopieren

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;
Nach dem Login kopieren

Ergebnisanzeige:

Beispielcode-Freigabe zur Implementierung der MySQL-Zeilen-zu-Spalte- und Spalte-zu-Zeilen-Konvertierung

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage