Heim > Datenbank > MySQL-Tutorial > Wie kann man Daten im Langformat in SQLite mithilfe von JOINs oder CASE-Anweisungen ins Breitformat umwandeln?

Wie kann man Daten im Langformat in SQLite mithilfe von JOINs oder CASE-Anweisungen ins Breitformat umwandeln?

DDD
Freigeben: 2025-01-10 12:41:46
Original
330 Leute haben es durchsucht

How to Pivot Long Format Data to Wide Format in SQLite Using JOINs or CASE Statements?

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

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

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!

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