Я пытаюсь создать запрос MYSQL прямо сейчас, который будет получать популярные теги за определенный промежуток времени, основываясь на том, сколько раз они использовались в диапазоне дат, а вместе с ним - самое последнее сообщение с тегом.
Проблема, с которой я столкнулся, заключается в том, что я не могу найти запрос, который вернет популярные теги с последним сообщением, но если этот пост уже находится под другим тегом, вернем следующий самый последний пост.
Это то, что я имею до сих пор.
$ ignore string - это в основном теги для игнорирования: "AND $ wpdb-> term.name NOT LIKE '%". $ Ignored. "%'"
$ limit - выбранный лимит тегов для возврата
SELECT $wpdb->posts.*, $wpdb->terms.*, COUNT($wpdb->terms.term_id) as count
FROM $wpdb->posts, $wpdb->term_relationships, $wpdb->term_taxonomy, $wpdb->terms
WHERE $wpdb->posts.ID=$wpdb->term_relationships.object_id
AND $wpdb->term_taxonomy.term_taxonomy_id=$wpdb->term_relationships.term_taxonomy_id
AND $wpdb->term_taxonomy.term_id=$wpdb->terms.term_id".$ignorestring."
AND post_status = 'publish'
AND post_date < '$now'
AND post_date > '$datelimit'
AND $wpdb->term_taxonomy.taxonomy='post_tag'
GROUP BY $wpdb->terms.term_id
ORDER BY count DESC
LIMIT $limit
Я пробовал варианты GROUP BY и JOINS, но не совсем понял.