blob: e25a07450f090814d4d3799730e5700e135bcc16 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#include "arrayEnumerateExtended.h"
#include <Functions/FunctionFactory.h>
namespace DB
{
/** arrayEnumerateUniq(arr)
* - outputs an array parallel (having same size) to this, where for each element specified
* how many times this element was encountered before (including this element) among elements with the same value.
* For example: arrayEnumerateUniq([10, 20, 10, 30]) = [1, 1, 2, 1]
* arrayEnumerateUniq(arr1, arr2...)
* - for tuples from elements in the corresponding positions in several arrays.
*/
class FunctionArrayEnumerateUniq : public FunctionArrayEnumerateExtended<FunctionArrayEnumerateUniq>
{
using Base = FunctionArrayEnumerateExtended<FunctionArrayEnumerateUniq>;
public:
static constexpr auto name = "arrayEnumerateUniq";
using Base::create;
};
REGISTER_FUNCTION(ArrayEnumerateUniq)
{
factory.registerFunction<FunctionArrayEnumerateUniq>();
}
}
|