У меня есть набор данных временных рядов с 4 столбцами: a, b, c и меткой времени.Я хочу создать ячейки для всех трех столбцов, чтобы получить таблицу вхождения.В следующем примере таблицы приведены примеры данных:
a | b | c | timestamp
0.2 | 1.2 | 0.1 | 2018-01-01 00:00:00
0.3 | 2.2 | 0.2 | 2018-01-01 00:00:01
0.4 | 3.2 | 0.3 | 2018-01-01 00:00:02
0.2 | 0.2 | 0.4 | 2018-01-01 00:00:03
0.6 | 1.3 | 0.5 | 2018-01-01 00:00:04
0.7 | 2.4 | 0.1 | 2018-01-01 00:00:05
1.2 | 0.5 | 0.2 | 2018-01-01 00:00:06
3.2 | 1.7 | 0.3 | 2018-01-01 00:00:07
2.2 | 2.5 | 0.4 | 2018-01-01 00:00:08
1.3 | 3.7 | 0.5 | 2018-01-01 00:00:09
1.4 | 0.8 | 0.6 | 2018-01-01 00:00:10
etc.
Теперь я хочу создать элементы сортировки следующим образом:
a >= 0. and a < 0.25 and b >= 0. and b < 0.25 and c >= 0. and c < 0.25
a >= 0. and a < 0.25 and b >= 0. and b < 0.25 and c >= 0.25 and c < 0.5
a >= 0. and a < 0.25 and b >= 0. and b < 0.25 and c >= 0.5 and c < 0.75
a >= 0. and a < 0.25 and b >= 0.25 and b < 0.5 and c >= 0. and c < 0.25
a >= 0. and a < 0.25 and b >= 0.25 and b < 0.5 and c >= 0.25 and c < 0.5
etc.
Таким образом, я получу таблицу вхождений с ячейками, примененными к каждому измерению.\
У меня есть следующий SQL, который хорошо работает для одного столбца:
select
bucket,
0.+(bucket-1)*0.25 as low_a,
0.+bucket*0.25 as high_a,
count(1) as cnt
from
(
select
width_bucket(a, 0., 4., 16) as bucket
from
table
)
group by bucket order by bucket;
Как я могу применить сегменты к нескольким столбцам?