в массив для каждого элемента массива? То есть на входе есть массив с повторяющимися числами, на выходе хочется получить пары "число - сколько раз это число встречается в массиве"
Denny [Altinity]: SELECT sumMap(a, arrayResize(CAST([], 'Array(UInt64)'), length(a), toUInt64(1))) AS s FROM ( SELECT [1, 1, 1, 2, 2, 2, 2, 2, 3] AS a ) ┌─s─────────────────┐ │ ([1,2,3],[3,5,1]) │ └───────────────────┘ более универсально SELECT arrayDistinct(a) AS k, arrayMap(i -> arrayCount(j -> (i = j), a), k) AS s FROM ( SELECT ['1', '1', '1', '2', '2', '2', '2', '2', '3'] AS a ) ┌─k─────────────┬─s───────┐ │ ['1','2','3'] │ [3,5,1] │ └───────────────┴─────────┘
Обсуждают сегодня