&&
operator tidak mendukung NULL
nilai-nilai. Jadi, Anda perlu pendekatan lain. Misalnya Anda bisa menggabungkan data ke tabel terlebih dahulu. Ini memberi Anda id
s yang ditautkan ke data yang Anda butuhkan. Pada langkah kedua Anda dapat menyusun semua nilai menggunakan id
ini s.
demo langkah demi langkah:db<>biola
SELECT
id,
ARRAY_AGG(session_os) -- 4
FROM t
WHERE id IN ( -- 3
SELECT
id
FROM
t
JOIN (
SELECT unnest(ARRAY[1, null]) as a -- 1
)s ON s.a IS NOT DISTINCT FROM t.session_os -- 2
)
GROUP BY id
- Buat tabel atau hasil kueri yang berisi data Anda yang relevan, termasuk.
NULL
nilai. - Anda dapat menggabungkan data, termasuk.
NULL
nilai, menggunakan operatorIS NOT DISTINCT FROM
, yang menganggapNULL
. - Sekarang Anda telah mengambil
id
yang relevan nilai yang dapat digunakan dalamWHERE
menyaring - Akhirnya Anda dapat melakukan agregasi