Heim > Datenbank > MySQL-Tutorial > Wie kombiniere ich Zeilen mit NULL-Werten in SQL mithilfe von Aggregatfunktionen?

Wie kombiniere ich Zeilen mit NULL-Werten in SQL mithilfe von Aggregatfunktionen?

Barbara Streisand
Freigeben: 2024-12-26 10:17:10
Original
910 Leute haben es durchsucht

How to Combine Rows with NULL Values in SQL Using Aggregate Functions?

So führen Sie Zeilen in SQL zusammen

Frage:

Stellen Sie sich ein Szenario vor, in dem Sie eine Datenbanktabelle mit den Spalten FK haben , Feld1 und Feld2. Die Tabelle besteht aus Daten wie folgt:

FK Field1 Field2
3 ABC NULL
3 NULL DEF

Sie möchten eine Abfrage durchführen, die diese beiden Zeilen zu einer kombiniert und die folgende Ausgabe erzeugt:

FK Field1 Field2
3 ABC DEF

Antwort:

Aggregatfunktionen wie MAX können verwendet werden, um diese Datenzusammenführung zu erreichen. Sie ignorieren von Natur aus NULL-Werte auf Plattformen wie SQL Server, Oracle und Jet/Access. Hier ist eine Beispielabfrage, die die MAX-Funktion verwendet:

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

In dieser Abfrage gruppieren wir die Zeilen nach der FK-Spalte und verwenden die MAX-Funktion, um den Maximalwert für jede der anderen Spalten abzurufen (Feld1 und Feld2). Da NULL-Werte ignoriert werden, werden die Nicht-NULL-Werte (ABC und DEF) in der zusammengeführten Zeile zurückgegeben.

Hier ist ein Beispiel mit 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

Wenn die Abfrage ausgeführt wird Auf Grundlage dieser Testdaten ergibt sich die folgende Ausgabe:

FK  Field1  Field2
--  ------  ------
3   ABC     DEF
4   JKL     PQR
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kombiniere ich Zeilen mit NULL-Werten in SQL mithilfe von Aggregatfunktionen?. 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