Der && Operator unterstützt NULL nicht Werte. Sie brauchen also einen anderen Ansatz. Beispielsweise könnten Sie die Daten zuerst mit der Tabelle verknüpfen. Dadurch erhalten Sie die id s, die mit Ihren gewünschten Daten verknüpft sind. Im zweiten Schritt können Sie alle Werte mit dieser id arrangieren s.
Schritt-für-Schritt-Demo:db<>fiddle
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
- Erstellen Sie eine Tabelle oder ein Abfrageergebnis, das Ihre relevanten Daten enthält, inkl. der
NULLWert. - Sie können die Daten inkl. der
NULL-Wert mit dem OperatorIS NOT DISTINCT FROM, der denNULLberücksichtigt . - Jetzt haben Sie die relevante
idabgerufen Werte, die imWHEREverwendet werden können filtern - Endlich können Sie Ihre Aggregation durchführen