Это SQL-версия отчёта «Dashboard» для сводных просмотров страниц с определением браузера.
Этот отчёт Data Explorer предоставляет ежедневную статистику просмотров страниц сайта с определением браузера за указанный период. Просмотры страниц классифицируются на четыре типа:
- Просмотры из авторизованного браузера
- Просмотры из анонимного браузера
- Просмотры от известных краулеров
- Другие просмотры страниц
-- [params]
-- date :start_date
-- date :end_date
SELECT
ar.date::date AS "date",
SUM(CASE WHEN ar.req_type = 15 THEN count ELSE 0 END) AS "Logged In Browser",
SUM(CASE WHEN ar.req_type = 13 THEN count ELSE 0 END) AS "Anonymous Browser",
SUM(CASE WHEN ar.req_type = 6 THEN count ELSE 0 END) AS "Known Crawler",
SUM(
CASE WHEN ar.req_type = 8 THEN count
WHEN ar.req_type = 7 THEN count
WHEN ar.req_type = 13 THEN -count
WHEN ar.req_type = 15 THEN -count
ELSE 0
END
) AS "Other pageviews"
FROM
application_requests ar
WHERE
ar.date::date >= :start_date
AND ar.date <= :end_date
GROUP BY
ar.date
ORDER BY
ar.date ASC
Пояснение к SQL-запросу
- Параметры:
:start_date— начальная дата отчёта.:end_date— конечная дата отчёта.- Оба параметра даты принимают формат
YYYY-MM-DD.
- Пункт SELECT:
ar.date::date AS "date": Преобразует полеdateв тип date и присваивает ему псевдоним «date».SUM(CASE WHEN ar.req_type = 15 THEN count ELSE 0 END) AS "Logged In Browser": Суммирует значения счётчика, гдеreq_typeравен 15, и присваивает результату псевдоним «Logged In Browser».SUM(CASE WHEN ar.req_type = 13 THEN count ELSE 0 END) AS "Anonymous Browser": Суммирует значения счётчика, гдеreq_typeравен 13, и присваивает результату псевдоним «Anonymous Browser».SUM(CASE WHEN ar.req_type = 6 THEN count ELSE 0 END) AS "Known Crawler": Суммирует значения счётчика, гдеreq_typeравен 6, и присваивает результату псевдоним «Known Crawler».SUM(CASE WHEN ar.req_type = 8 THEN count WHEN ar.req_type = 7 THEN count WHEN ar.req_type = 13 THEN -count WHEN ar.req_type = 15 THEN -count ELSE 0 END) AS "Other pageviews": Суммирует значения счётчика для других типов запросов, корректируя значения дляreq_type13 и 15 путём их вычитания, и присваивает результату псевдоним «Other pageviews».
- Пункт FROM:
FROM application_requests ar: Указывает таблицуapplication_requestsкак источник данных, присваивая ей псевдонимar.
- Пункт WHERE:
ar.date::date >= :start_date AND ar.date <= :end_date: Фильтрует записи, оставляя только те, гдеdateпопадает в указанный диапазон от:start_dateдо:end_date.
- Пункт GROUP BY:
GROUP BY ar.date: Группирует результаты по полюdateдля агрегации счётчиков по каждому дню.
- Пункт ORDER BY:
ORDER BY ar.date ASC: Сортирует результаты по возрастанию поляdate.
Результаты
Результаты этого запроса предоставят ежедневную разбивку просмотров страниц по типу браузера или краулера. Каждая строка в наборе результатов будет содержать:
date: Конкретная дата.Logged In Browser: Общее количество просмотров страниц от авторизованных пользователей.Anonymous Browser: Общее количество просмотров страниц от анонимных пользователей.Known Crawler: Общее количество просмотров страниц от известных краулеров.Other pageviews: Общее количество просмотров страниц других типов.
Пример результатов
| date | Logged In Browser | Anonymous Browser | Known Crawler | Other pageviews |
|---|---|---|---|---|
| 2024-05-02 | 1238 | 1085 | 2727 | 3983 |
| 2024-05-03 | 1039 | 1068 | 5718 | 3958 |
| 2024-05-04 | 572 | 628 | 3847 | 3761 |
| 2024-05-05 | 447 | 551 | 2093 | 3773 |