Skip to main content
Edit this page

singleValueOrNull

集計関数 singleValueOrNull は、x = ALL (SELECT ...) のようなサブクエリオペレーターを実装するために使用されます。データ内に一意の非NULL値が唯一あるかどうかを確認します。 もし一意の値が一つだけある場合、その値を返します。ゼロまたは少なくとも二つ以上の異なる値がある場合、NULLを返します。

構文

singleValueOrNull(x)

パラメーター

返される値

  • 一意の非NULL値が一つだけある場合、その値。
  • ゼロまたは少なくとも二つ以上の異なる値がある場合、NULL

クエリ:

CREATE TABLE test (x UInt8 NULL) ENGINE=Log;
INSERT INTO test (x) VALUES (NULL), (NULL), (5), (NULL), (NULL);
SELECT singleValueOrNull(x) FROM test;

結果:

┌─singleValueOrNull(x)─┐
│ 5 │
└──────────────────────┘

クエリ:

INSERT INTO test (x) VALUES (10);
SELECT singleValueOrNull(x) FROM test;

結果:

┌─singleValueOrNull(x)─┐
│ ᴺᵁᴸᴸ │
└──────────────────────┘