countequal

SinceVersion 1.2.0

countequal

description

Syntax

BIGINT countequal(ARRAY<T> arr, T value)

判断数组中包含value元素的个数。返回结果如下:

  1. num - valuearray中的数量;
  2. 0 - value不存在数组arr中;
  3. NULL - 如果数组为NULL

notice

仅支持向量化引擎中使用

example

  1. mysql> set enable_vectorized_engine=true;
  2. mysql> select *, countEqual(c_array,5) from array_test;
  3. +------+-----------------+--------------------------+
  4. | id | c_array | countequal(`c_array`, 5) |
  5. +------+-----------------+--------------------------+
  6. | 1 | [1, 2, 3, 4, 5] | 1 |
  7. | 2 | [6, 7, 8] | 0 |
  8. | 3 | [] | 0 |
  9. | 4 | NULL | NULL |
  10. +------+-----------------+--------------------------+
  11. mysql> select *,countEqual(c_array, 1),countEqual(c_array, 5),countEqual(c_array, NULL) from array_test;
  12. +------+-----------------------+--------------------------+--------------------------+-----------------------------+
  13. | id | c_array | countequal(`c_array`, 1) | countequal(`c_array`, 5) | countequal(`c_array`, NULL) |
  14. +------+-----------------------+--------------------------+--------------------------+-----------------------------+
  15. | 1 | [1, 2, 3, 4, 5] | 1 | 1 | 0 |
  16. | 2 | [6, 7, 8] | 0 | 0 | 0 |
  17. | 3 | [] | 0 | 0 | 0 |
  18. | 4 | NULL | NULL | NULL | NULL |
  19. | 5 | [66, 77] | 0 | 0 | 0 |
  20. | 5 | [66, 77] | 0 | 0 | 0 |
  21. | 6 | NULL | NULL | NULL | NULL |
  22. | 7 | [NULL, NULL, NULL] | 0 | 0 | 3 |
  23. | 8 | [1, 2, 3, 4, 5, 5, 5] | 1 | 3 | 0 |
  24. +------+-----------------------+--------------------------+--------------------------+-----------------------------+

keywords

ARRAY,COUNTEQUAL