Heim > Datenbank > MySQL-Tutorial > Wie können SQL-Aggregatfunktionen mehrere Zeilen mit NULL-Werten in einer einzigen Zeile zusammenführen?

Wie können SQL-Aggregatfunktionen mehrere Zeilen mit NULL-Werten in einer einzigen Zeile zusammenführen?

Barbara Streisand
Freigeben: 2024-12-28 06:12:14
Original
540 Leute haben es durchsucht

How Can SQL Aggregate Functions Merge Multiple Rows with NULL Values into a Single Row?

Auswählen von Daten zum Zusammenführen mehrerer Zeilen in SQL

Betrachten Sie eine Tabelle mit Daten wie unten gezeigt:

FK Field1 Field2
3 ABC NULL
3 NULL DEF

Das Ziel besteht darin, eine durchzuführen SELECT-Operation, um diese Zeilen zu einer einzigen Zeile zu kombinieren:

FK Field1 Field2
3 ABC DEF

Aggregatfunktion Lösung

Aggregatfunktionen können verwendet werden, um NULL-Werte zu ignorieren und die Nicht-NULL-Werte aus mehreren übereinstimmenden Zeilen zu kombinieren. Hier ist eine Abfrage, die diesen Ansatz veranschaulicht:

SELECT
    FK,
    MAX(Field1) AS Field1,
    MAX(Field2) AS Field2
FROM
    table1
GROUP BY
    FK;
Nach dem Login kopieren

In dieser Abfrage verwenden wir die Aggregatfunktion MAX, um den Maximalwert für Feld1 und Feld2 aus den nach FK gruppierten Zeilen auszuwählen. Da NULL-Werte von Aggregatfunktionen ignoriert werden, wird sichergestellt, dass nur Nicht-NULL-Werte kombiniert werden.

Testen der Lösung

Verwendung der bereitgestellten 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');
Nach dem Login kopieren

Die Abfrage liefert die gewünschten Ergebnisse:

FK Field1 Field2
3 ABC DEF
4 JKL PQR

Das obige ist der detaillierte Inhalt vonWie können SQL-Aggregatfunktionen mehrere Zeilen mit NULL-Werten in einer einzigen Zeile zusammenführen?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage