countequal
SinceVersion 1.2.0
countequal
description
Syntax
BIGINT countequal(ARRAY<T> arr, T value)
判断数组中包含value元素的个数。返回结果如下:
1. num - value在array中的数量;
2. 0 - value不存在数组arr中;
3. NULL - 如果数组为NULL。
notice
仅支持向量化引擎中使用
example
1. mysql> set enable_vectorized_engine=true;
3. mysql> select *, countEqual(c_array,5) from array_test;
4. +------+-----------------+--------------------------+
5. | id | c_array | countequal(`c_array`, 5) |
6. +------+-----------------+--------------------------+
7. | 1 | [1, 2, 3, 4, 5] | 1 |
8. | 2 | [6, 7, 8] | 0 |
9. | 3 | [] | 0 |
10. | 4 | NULL | NULL |
11. +------+-----------------+--------------------------+
13. mysql> select *,countEqual(c_array, 1),countEqual(c_array, 5),countEqual(c_array, NULL) from array_test;
14. +------+-----------------------+--------------------------+--------------------------+-----------------------------+
15. | id | c_array | countequal(`c_array`, 1) | countequal(`c_array`, 5) | countequal(`c_array`, NULL) |
16. +------+-----------------------+--------------------------+--------------------------+-----------------------------+
17. | 1 | [1, 2, 3, 4, 5] | 1 | 1 | 0 |
18. | 2 | [6, 7, 8] | 0 | 0 | 0 |
19. | 3 | [] | 0 | 0 | 0 |
20. | 4 | NULL | NULL | NULL | NULL |
21. | 5 | [66, 77] | 0 | 0 | 0 |
22. | 5 | [66, 77] | 0 | 0 | 0 |
23. | 6 | NULL | NULL | NULL | NULL |
24. | 7 | [NULL, NULL, NULL] | 0 | 0 | 3 |
25. | 8 | [1, 2, 3, 4, 5, 5, 5] | 1 | 3 | 0 |
26. +------+-----------------------+--------------------------+--------------------------+-----------------------------+
keywords
ARRAY,COUNTEQUAL
