MySQL Zeile zu Spalte, Spalte zu Zeile Der Satz ist nicht schwierig, deshalb werde ich ihn nicht im Detail erklären. Analysieren Sie den Satz beim Lesen Satz für Satz von innen nach außen. Zeile zu Spalte Es liegt eine Tabelle wie in der Abbildung vor. Nun wollen wir im Abfrageergebnis die Zeilen in Spalten umwandeln. Die Anweisung zur Tabellenerstellung lautet wie folgt: CREATE TABLE `TEST_TB_GRADE` ( `ID` int(10) NICHT NULL AUTO_INCREMENT, `USER_NAME` varchar(20) DEFAULT NULL, `KURS` varchar(20) DEFAULT NULL, `SCORE` float DEFAULT '0', PRIMÄRSCHLÜSSEL (`ID`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; in TEST_TB_GRADE(USER_NAME, COURSE, SCORE) Werte einfügen ("Zhang San", "Mathematik", 34), ("Zhang San", "Chinesisch", 58), ("Zhang San", "Englisch", 58), ("Li Si", "Mathematik", 45), ("Li Si", "Chinesisch", 87), ("Li Si", "Englisch", 45), ("Wang Wu", "Mathematik", 76), ("Wang Wu", "Chinesisch", 34), ("Wang Wu", "Englisch", 89); Abfrageanweisung: Der Grund, warum MAX hier verwendet wird, besteht darin, die Punkte ohne Daten auf 0 zu setzen, um NULL zu verhindern SELECT Benutzername , MAX(CASE Kurs WENN 'Kurs' DANN Punktzahl SONST 0 ENDE ) Mathematik, MAX(CASE Kurs WENN 'Chinesisch' DANN Punktzahl SONST 0 ENDE ) Chinesisch, MAX(CASE Kurs WENN 'Englisch' DANN Punktzahl SONST 0 ENDE ) Englisch VON test_tb_note GRUPPE NACH BENUTZERNAME; Ergebnisse: Spalte zu Zeile Es gibt eine Tabelle wie in der Abbildung dargestellt. Nun hoffen wir, dass die Abfrageergebnisse in Zeilen aufgelistet werden Die Anweisung zur Tabellenerstellung lautet wie folgt: CREATE TABLE `TEST_TB_GRADE2` ( `ID` int(10) NICHT NULL AUTO_INCREMENT, `USER_NAME` varchar(20) DEFAULT NULL, `CN_SCORE` float DEFAULT NULL, `MATH_SCORE` float DEFAULT NULL, `EN_SCORE` float DEFAULT '0', PRIMÄRSCHLÜSSEL (`ID`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; in TEST_TB_GRADE2(USER_NAME, CN_SCORE, MATH_SCORE, EN_SCORE) Werte einfügen ("Zhang San", 34, 58, 58), ("Li Si", 45, 87, 45), ("Wang Wu", 76, 34, 89); Abfrageanweisung: Wählen Sie Benutzername, 'Sprache' KURS, CN_SCORE als SCORE aus test_tb_grade2 Union-Auswahl von Benutzername, 'Benutzername' KURS, MATH_SCORE als SCORE von test_tb_grade2 Union Select Benutzername, „Englisch“ Kurs, EN_SCORE als SCORE aus Test-TB_Grad2 Sortieren nach Benutzername, KURS; Ergebnisse: Vielen Dank fürs Lesen, ich hoffe, es kann Ihnen helfen, danke für Ihre Unterstützung dieser Site! Das könnte Sie auch interessieren:
|
Zunächst stellt sich häufig die Frage: Welche Bez...
Lassen Sie uns heute darüber sprechen, wie Sie mi...
AngularJS-Loop-Objekteigenschaften zum Erreichen ...
Schauen wir uns zunächst meine grundlegende Entwi...
Codebeispiel: öffentliche Klasse JDBCDemo3 { öffe...
Inhaltsverzeichnis 1. Abfrageoptimierung 1. MySQL...
Im Linux-System gibt es einen Dateityp namens Lin...
In den letzten Projekten werden viele Formulare e...
Schreibgeschützte und deaktivierte Attribute in F...
Inhaltsverzeichnis Fallstudie Kontostand aktualis...
wangEditor ist ein webbasierter Rich-Text-Editor,...
MultiTail ist eine Software zum gleichzeitigen Üb...
Vom Einsteiger bis zum Neueinsteiger ist das Linu...
html,Adresse, Blockzitat, Körper, dd, div, dl,dt,...
1. Was ist Master-Slave-Replikation? Mithilfe der...