&& operátor nepodporuje NULL hodnoty. Takže potřebujete jiný přístup. Můžete například nejprve spojit data do tabulky. Tím získáte id s, které jsou propojeny s vašimi požadovanými údaji. Ve druhém kroku jste schopni agregovat všechny hodnoty pomocí těchto id s.
demonstrace krok za krokem:db<>housle
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
- Vytvořte tabulku nebo výsledek dotazu, který bude obsahovat vaše relevantní data, vč.
NULLhodnotu. - Můžete připojit data, vč.
NULLhodnotu pomocí operátoruIS NOT DISTINCT FROM, který bere v úvahuNULL. - Nyní jste získali relevantní
idhodnoty, které lze použít vWHEREfiltr - Konečně můžete provést agregaci