Heim >Datenbank >MySQL-Tutorial >Wie kann ich mithilfe von Aggregatfunktionen mehrere SQL-Zeilen zu einer einzigen Zeile zusammenführen?
Zeilen in SQL zusammenführen
Bei der Arbeit mit Datenbanken kann es vorkommen, dass Sie Daten aus mehreren Zeilen in einem einzigen Datensatz kombinieren müssen . Betrachten Sie die folgende Tabelle mit den beiden Feldern „Feld1“ und „Feld2“:
FK | Field1 | Field2 |
---|---|---|
3 | ABC | NULL |
3 | NULL | DEF |
Das Ziel besteht darin, die folgenden kombinierten Daten abzurufen:
FK | Field1 | Field2 |
---|---|---|
3 | ABC | DEF |
Um diese Zeilen zusammenzuführen, aggregieren Funktionen genutzt werden können. Aggregatfunktionen wie MAX ignorieren NULL-Werte. Durch Anwenden der MAX-Aggregatfunktion sowohl auf „Feld1“ als auch auf „Feld2“ können Sie den maximalen Nicht-NULL-Wert für jede Gruppe erhalten und die Daten effektiv in einer einzigen Zeile kombinieren.
Die folgende Abfrage veranschaulicht diesen Ansatz :
SELECT FK, MAX(Field1) AS Field1, MAX(Field2) AS Field2 FROM table1 GROUP BY FK;
Diese Abfrage gruppiert Zeilen nach der Spalte „FK“ und wendet die MAX-Aggregatfunktion auf „Feld1“ und „Feld2“ an. Das Ergebnis ist eine Tabelle, in der jede Zeile die kombinierten Daten aus den ursprünglichen geteilten Zeilen darstellt.
Betrachten Sie als Beispiel die folgenden Testdaten:
CREATE TABLE table1 (FK int, Field1 varchar(10), Field2 varchar(10)); INSERT INTO table1 VALUES (3, 'ABC', NULL); INSERT INTO table1 VALUES (3, NULL, 'DEF'); INSERT INTO table1 VALUES (4, 'GHI', NULL); INSERT INTO table1 VALUES (4, 'JKL', 'MNO'); INSERT INTO table1 VALUES (4, NULL, 'PQR');
Ausführen der Zusammenführungsabfrage für diese Daten erzeugt die folgenden Ergebnisse:
FK | Field1 | Field2 |
---|---|---|
3 | ABC | DEF |
4 | JKL | PQR |
Durch die Nutzung von Aggregatfunktionen können Sie Daten aus mehreren Zeilen effektiv in einem einzigen, kombinierten Datensatz zusammenführen.
Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe von Aggregatfunktionen mehrere SQL-Zeilen zu einer einzigen Zeile zusammenführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!