Делаем SEO-срез по типу страниц: case
Срез по типу case помогает не сравнивать разные шаблоны страниц между собой.
SELECT p.page_type,
p.url,
COALESCE(s.impressions, 0) AS impressions,
COALESCE(s.clicks, 0) AS clicks,
COALESCE(s.ctr, 0) AS ctr,
cp.word_count,
cp.internal_links_in
FROM pages AS p
LEFT JOIN page_gsc_summary AS s ON s.page_id = p.page_id
LEFT JOIN crawl_pages AS cp ON cp.page_id = p.page_id
WHERE p.page_type = 'case'
ORDER BY impressions DESC;
SELECT p.page_type, — Начинает запрос и перечисляет колонки или выражения, которые нужно вывести.p.url, — Продолжает текущую SQL-команду: задает колонку, выражение, условие или значение.COALESCE(s.impressions, 0) AS impressions, — Подставляет запасное значение, если в данных встретился NULL.COALESCE(s.clicks, 0) AS clicks, — Подставляет запасное значение, если в данных встретился NULL.COALESCE(s.ctr, 0) AS ctr, — Подставляет запасное значение, если в данных встретился NULL.cp.word_count, — Продолжает текущую SQL-команду: задает колонку, выражение, условие или значение.cp.internal_links_in — Продолжает текущую SQL-команду: задает колонку, выражение, условие или значение.FROM pages AS p — Указывает основную таблицу или источник данных для запроса.LEFT JOIN page_gsc_summary AS s ON s.page_id = p.page_id — Соединяет текущие данные с другой таблицей по условию ON.LEFT JOIN crawl_pages AS cp ON cp.page_id = p.page_id — Соединяет текущие данные с другой таблицей по условию ON.WHERE p.page_type = 'case' — Начинает фильтр: дальше перечисляются условия, какие строки оставить.ORDER BY impressions DESC; — Сортирует результат, чтобы важные строки оказались выше или ниже.Вы увидите страницы типа case с метриками.
Проверьте, что вы работаете в файле seo_lab_from_zero.db, скопировали блок полностью и не потеряли точку с запятой в конце SQL-команды.