Rumah > pangkalan data > tutorial mysql > Bagaimanakah Fungsi Agregat SQL Boleh Menggabungkan Berbilang Baris dengan Nilai NULL ke dalam Baris Tunggal?

Bagaimanakah Fungsi Agregat SQL Boleh Menggabungkan Berbilang Baris dengan Nilai NULL ke dalam Baris Tunggal?

Barbara Streisand
Lepaskan: 2024-12-28 06:12:14
asal
540 orang telah melayarinya

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

Memilih Data untuk Menggabungkan Berbilang Baris dalam SQL

Pertimbangkan jadual dengan data seperti yang ditunjukkan di bawah:

FK Field1 Field2
3 ABC NULL
3 NULL DEF

Matlamatnya adalah untuk melaksanakan PILIH operasi untuk menggabungkan baris ini menjadi satu baris:

FK Field1 Field2
3 ABC DEF

Fungsi Agregat Penyelesaian

Fungsi agregat boleh digunakan untuk mengabaikan nilai NULL dan menggabungkan nilai bukan NULL daripada berbilang baris yang sepadan. Berikut ialah pertanyaan yang menunjukkan pendekatan ini:

SELECT
    FK,
    MAX(Field1) AS Field1,
    MAX(Field2) AS Field2
FROM
    table1
GROUP BY
    FK;
Salin selepas log masuk

Dalam pertanyaan ini, kami menggunakan fungsi agregat MAX untuk memilih nilai maksimum untuk Medan1 dan Medan2 daripada baris yang dikumpulkan mengikut FK. Oleh kerana nilai NULL diabaikan oleh fungsi agregat, ini memastikan bahawa hanya nilai bukan NULL digabungkan.

Menguji Penyelesaian

Menggunakan data ujian yang disediakan:

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');
Salin selepas log masuk

Pertanyaan itu menghasilkan hasil yang diingini:

FK Field1 Field2
3 ABC DEF
4 JKL PQR

Atas ialah kandungan terperinci Bagaimanakah Fungsi Agregat SQL Boleh Menggabungkan Berbilang Baris dengan Nilai NULL ke dalam Baris Tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan