Создаем таблицу content_refresh_candidates
Собираем страницы, которые имеют спрос, но выглядят слабыми по объему текста.
DROP TABLE IF EXISTS content_refresh_candidates;
CREATE TABLE content_refresh_candidates AS
SELECT s.page_id,
s.url,
s.impressions,
s.ctr,
cp.word_count,
'Расширить и обновить контент' AS recommended_action
FROM page_gsc_summary AS s
JOIN crawl_pages AS cp ON cp.page_id = s.page_id
WHERE s.impressions >= 300
AND cp.word_count < 800
ORDER BY s.impressions DESC;
DROP TABLE IF EXISTS content_refresh_candidates; — Удаляет старую учебную таблицу с таким именем, если она уже была создана раньше.пустая строка — Пустая строка отделяет один смысловой блок кода от другого, чтобы код легче читался.CREATE TABLE content_refresh_candidates AS — Создает новую таблицу из результата SELECT-запроса.SELECT s.page_id, — Начинает запрос и перечисляет колонки или выражения, которые нужно вывести.s.url, — Продолжает текущую SQL-команду: задает колонку, выражение, условие или значение.s.impressions, — Продолжает текущую SQL-команду: задает колонку, выражение, условие или значение.s.ctr, — Продолжает текущую SQL-команду: задает колонку, выражение, условие или значение.cp.word_count, — Продолжает текущую SQL-команду: задает колонку, выражение, условие или значение.'Расширить и обновить контент' AS recommended_action — Это текстовое значение в INSERT или рассчитанная подпись для отчета.FROM page_gsc_summary AS s — Указывает основную таблицу или источник данных для запроса.JOIN crawl_pages AS cp ON cp.page_id = s.page_id — Соединяет текущие данные с другой таблицей по условию ON.WHERE s.impressions >= 300 — Начинает фильтр: дальше перечисляются условия, какие строки оставить.AND cp.word_count < 800 — Добавляет еще одно обязательное условие к фильтру.ORDER BY s.impressions DESC; — Сортирует результат, чтобы важные строки оказались выше или ниже.Появится таблица content_refresh_candidates.
Проверьте, что вы работаете в файле seo_lab_from_zero.db, скопировали блок полностью и не потеряли точку с запятой в конце SQL-команды.