У меня есть таблица как
+--------+------------------+-----------+---------+-------------+
|visit_id|browsed_categories | num_seen| num_borrows |
+--------+------------------+-----------+---------+-------------+
|1 | fiction,history | 20 | 3 |
|2 | selfhelp,fiction,science | 15 | 3 |
|3 | cooking,kids,home,selfhelp | 7 | 2 |
+--------+------------------------------+---------+-------------+
, и я пытаюсь обобщить эту таблицу, чтобы выяснить, существует ли корреляция между количеством различных просмотренных категорий и заимствований.
+-------------+---------------------------------+-------------------------+
| borrow_rate | num_distinct_browsed_categories | distinct_categories |
+-------------+---------------------------------+-------------------------+
| 0 | 3 | cooking,selfhelp,home |
| 1 | 2 | history,fiction |
+-------------+---------------------------------+-------------------------+
Мойзапрос выглядит следующим образом:
select
*,
count(distinct(split(all_cats, ','))) as num_distinct_browsed_categories
from
(
select
(num_borrows/num_seen) as borrow_rate,
count(visit_id) as num_visits,
group_concat(browsed_categories, ',') as all_cats
from [table]
group by borrow_rate
)
Запрос дает мне эту ошибку:
Cannot use count distinct with scoped aggregation
Как мне изменить запрос, чтобы получить желаемый результат?