Я построил запрос, который вычисляет количество идентификаторов из таблицы на количество URL.
with cte as (
select id, count(distinct.url) url_count
from table
group by id
)
select sum(if(url_count >= 1,1,0) scale
from cte
union all
select sum(if(url_count >= 2,1,0) scale
from cte
union all
select sum(if(url_count >= 3,1,0) scale
from cte
union all
select sum(if(url_count >= 4,1,0) scale
from cte
union all
select sum(if(url_count >= 5,1,0) scale
from cte
В приведенном выше запросе сказано: «Дайте мне список идентификаторов и количество URL-адресов для каждого из них go, а затем накапливайте количество идентификаторов, которые перешли на [1-5] или более URL-адресов»
Это c a утомительный метод, но работает и выводит что-то вроде;
---------
| scale |
---------
|1213432|
|867554 |
|523523 |
|342232 |
|145889 |
---------
Из этой таблицы у меня также есть поле даты за последние 5 дней, над которым я работаю над добавлением в этот запрос. Таким образом, лежит проблема; Попытка добавить второй уровень информации к запросу; т.е. Работал над несколькими подходами к построению запроса, который выводил бы все комбинации разных масштабов на дату.
Мое воображение представляет собой сводную таблицу, представляющую что-то вроде:
-------------------------------------------------------------
| date | url_co1 | url_co2 | url_co3 | url_co4 | url_co5|
-------------------------------------------------------------
|2020-01-05| 1213432 | 1112321 | 984332 | 632131 | 234124 |
|2020-01-04| 1012131 | 934242 | 867554 | 533242 | 134234 |
| ... | ... | ... | ... | ... | ... |
| ... | ... | ... | ... | ... | ... |
| ... | ... | ... | ... | ... | ... |
-------------------------------------------------------------
Где url_co [1-5] представляет количество идентификаторов, которые посетили [1-5] или более URL-адресов, а даты дают дату, когда объем был захвачен. Не знаю, как написать это, потому что, как только я сделаю запрос:
with cte as (
select id, date, count(distinct.url) url_count
from table
group by id, date
)
Я агрегировал в расчете на идентификатор, на дату, что, следовательно, что-то идет не так. = /
Надеюсь, что все это имеет смысл!
Пожалуйста, помогите! Я был бы признателен за некоторые рекомендации.
Должна существовать методика для получения комбинации томов в расчете на одну свежую информацию, которую я пропустил!