Heim >Datenbank >MySQL-Tutorial >Wie kann ich mithilfe von Aggregatfunktionen mehrere SQL-Zeilen zu einer einzigen Zeile zusammenführen?

Wie kann ich mithilfe von Aggregatfunktionen mehrere SQL-Zeilen zu einer einzigen Zeile zusammenführen?

Linda Hamilton
Linda HamiltonOriginal
2024-12-23 12:53:10350Durchsuche

How Can I Merge Multiple SQL Rows into a Single Row Using Aggregate Functions?

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!

Stellungnahme:
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