firstNot
语法
firstNot(X, [k])
参数
X 可以是标量、数据对、向量、矩阵或表。
k 是一个标量,它是可选参数。
详情
若 X 是向量:
-
如果没有指定 k,返回 X 中第一个不为 NULL 的元素。
-
如果指定 k,返回 X 中第一个不为 k 或 NULL 的元素。
若 X 是矩阵或表,在每列内进行上述计算,返回一个向量。
firstNot 函数也支持查询分布式表和分区表。
例子
X 是向量:
firstNot(0 0 0 6 1, 0);
# output
6
firstNot(NULL 0 3 2 1, 0);
# output
3
firstNot(NULL 0 1 6);
# output
0
t=table(1 1 1 1 1 2 2 2 2 2 as id, 0 0 0 2 1 NULL NULL 0 0 3 as x);
t;
| id | x |
|---|---|
| 1 | 0 |
| 1 | 0 |
| 1 | 0 |
| 1 | 2 |
| 1 | 1 |
| 2 | |
| 2 | |
| 2 | 0 |
| 2 | 0 |
| 2 | 3 |
select firstNot(x, 0) from t group by id;
| id | firstNot_x |
|---|---|
| 1 | 2 |
| 2 | 3 |
m=matrix(0 NULL 1 2 3, NULL 2 NULL 0 3);
m;
| #0 | #1 |
|---|---|
| 0 | 2 |
| 1 | |
| 2 | 0 |
| 3 | 3 |
firstNot(m, 0);
# output
[1,2]
