SQLite Pivot: Langformat in Breitformat konvertieren
In SQLite bezieht sich Pivotieren auf die Konvertierung von im Langformat gespeicherten Tabellen in das Breitformat zur einfacheren Datenanalyse und -verarbeitung. Dies ist besonders nützlich, wenn Sie mit Daten arbeiten, die mehrere Messungen oder Attribute pro Zeile haben, da wir die Daten so strukturierter und lesbarer visualisieren können.
Um Daten in SQLite zu plotten, können Sie die JOIN-Operation in Kombination mit bedingten Ausdrücken verwenden oder die CASE-Anweisung mit GROUP BY verwenden. Hier ist eine detaillierte Anleitung zur Durchführung der Durchleuchtung mit beiden Techniken:
Verwenden Sie JOIN und bedingte Ausdrücke
Diese Methode beinhaltet die Verwendung von JOIN und bedingten Ausdrücken mit der SUM()-Funktion, um die Daten für jede gewünschte Spalte zusammenzufassen.
<code class="language-sql">select u.stuid, u.name, s3.marks as subjectid_3, s4.marks as subjectid_4, s5.marks as subjectid_5 from student_info u left outer join markdetails s3 on u.stuid = s3.stuid and s3.subjectid = 3 left outer join markdetails s4 on u.stuid = s4.stuid and s4.subjectid = 4 left outer join markdetails s5 on u.stuid = s5.stuid and s5.subjectid = 5;</code>
Verwenden Sie die CASE-Anweisung und GROUP BY
Ein anderer Ansatz besteht darin, eine CASE-Anweisung in einer GROUP BY-Klausel zu verwenden. Diese Technik gruppiert Zeilen nach erforderlichen Spalten und berechnet Gesamtwerte basierend auf verschiedenen Szenarien.
<code class="language-sql">select si.studid, si.name, sum(case when md.subjectid = 3 then md.marks end) subjectid_3, sum(case when md.subjectid = 4 then md.marks end) subjectid_4, sum(case when md.subjectid = 5 then md.marks end) subjectid_5 from student_info si join markdetails md on md.studid = si.studid group by si.studid, si.name;</code>
Beide Methoden können zum Pivotieren von Daten in SQLite verwendet werden, um Ihnen das benötigte Breitformat zu bieten.
Das obige ist der detaillierte Inhalt vonWie kann man Daten im Langformat in SQLite mithilfe von JOINs oder CASE-Anweisungen ins Breitformat umwandeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!