Шаг 085. Сравниваем страницы внутри типа через RANK

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

Что делаем

Сравниваем страницы внутри типа через RANK

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

Оконные функции позволяют ранжировать страницы внутри группы без потери строк.

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

SELECT page_type,
       url,
       impressions,
       RANK() OVER (
           PARTITION BY page_type
           ORDER BY impressions DESC
       ) AS rank_inside_type
FROM page_gsc_summary
ORDER BY page_type, rank_inside_type;

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

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

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

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

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

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