Il && l'operatore non supporta NULL i valori. Quindi, hai bisogno di un altro approccio. Ad esempio, potresti prima unire i dati alla tabella. Questo ti dà l'id s che sono collegati ai dati richiesti. Nel secondo passaggio puoi arretrare tutti i valori usando questi id s.
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
- Crea una tabella o un risultato di query che contenga i tuoi dati rilevanti, incl. il
NULLvalore. - Puoi unire i dati, incl. il
NULLvalore, utilizzando l'operatoreIS NOT DISTINCT FROM, che considera ilNULL. - Ora hai recuperato l'
idpertinente valori che possono essere utilizzati inWHEREfiltro - Finalmente puoi fare la tua aggregazione