singleValueOrNull
聚合函数 singleValueOrNull
用于实现子查询运算符,例如 x = ALL (SELECT ...)
。它检查数据中是否存在唯一的非空值。如果只有一个唯一值,则返回该值。如果存在零个或至少两个不同的值,则返回 NULL。
语法
singleValueOrNull(x)
参数
返回值
- 唯一值,如果
x
中只有一个唯一的非空值。 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)─┐
│ ᴺᵁᴸᴸ │
└──────────────────────┘