Шаг 086. Считаем долю показов страницы внутри типа

sqlГлава 7. CTE, VIEW и оконные функции

Что делаем

Считаем долю показов страницы внутри типа

Зачем SEO-специалисту

Оконные SUM помогают понять, какая страница забирает основную видимость внутри раздела.

Код. Вставьте 1 в 1

SELECT page_type,
       url,
       impressions,
       ROUND(
           impressions * 100.0 / SUM(impressions) OVER (PARTITION BY page_type),
           2
       ) AS share_inside_type_percent
FROM page_gsc_summary
ORDER BY page_type, share_inside_type_percent DESC;

Построчный разбор: что делает, для чего и как работает

Строка 1: SELECT page_type, — Начинает запрос и перечисляет колонки или выражения, которые нужно вывести.
Строка 2: url, — Продолжает текущую SQL-команду: задает колонку, выражение, условие или значение.
Строка 3: impressions, — Продолжает текущую SQL-команду: задает колонку, выражение, условие или значение.
Строка 4: ROUND( — Округляет рассчитанное число, чтобы результат было удобно читать.
Строка 5: impressions * 100.0 / SUM(impressions) OVER (PARTITION BY page_type), — Считает сумму числовых значений, например показов или кликов.
Строка 6: 2 — Продолжает текущую SQL-команду: задает колонку, выражение, условие или значение.
Строка 7: ) AS share_inside_type_percent — Закрывает текущую SQL-конструкцию и завершает команду точкой с запятой.
Строка 8: FROM page_gsc_summary — Указывает основную таблицу или источник данных для запроса.
Строка 9: ORDER BY page_type, share_inside_type_percent DESC; — Сортирует результат, чтобы важные строки оказались выше или ниже.

Что должно получиться

Вы увидите долю показов каждой страницы внутри типа.

Если появилась ошибка

Проверьте, что вы работаете в файле seo_lab_from_zero.db, скопировали блок полностью и не потеряли точку с запятой в конце SQL-команды.