&&
演算子はNULL
をサポートしていません 値。したがって、別のアプローチが必要です。たとえば、最初にデータをテーブルに結合できます。これにより、id
が得られます 必要なデータにリンクされている。 2番目のステップでは、これらの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
- 関連データを含むテーブルまたはクエリ結果を作成します。
NULL
値。 - データを結合できます。
NULL
演算子IS NOT DISTINCT FROM
を使用した値 、NULL
を考慮します 。 - これで、関連する
id
が取得されました。WHERE
で使用できる値 フィルタ - 最後に、集計を行うことができます