- инт
Мне нужно найти колчиество пользователей по возрастным группам - 20-30, 30-40, etc
Можно ли как-тот красиво это сделать кроме полотна ифов ?
Спасиб
Group by age/10?
нужно чуть более гибкое решение. в дейстивтельности там выборки рода 18-23, 24-31, etc
multiIf чуть менее большое полотно if
roundAge function Or countResample(0,5,1)(age, roundDown(age,[18,23,35,50]))
чето не могу поняь что делает countResample и три магических числа
start,end,increment countResample бьет по бакетам вашу агрегацию Тк вам нужно бить только по специальным границам приходится извращатся с roundDown SELECT countResample(0, 6, 1)(age, indexOf([0, 18, 23, 35, 50], roundDown(age, [0, 18, 23, 35, 50]))) AS x FROM ( SELECT number AS age FROM numbers(100) ) Query id: 507294bc-b76e-4e44-ad01-8aaa88eb763f ┌─x─────────────────┐ │ [0,18,5,12,15,50] │ └───────────────────┘
Обсуждают сегодня