我正在尝试构建一个MYSQL查询,它将根据在日期范围内使用它们的次数以及带有标记的最新帖子,在特定时间范围内获得流行标记。
我遇到的问题是我无法弄清楚会返回带有最新帖子的热门标签的查询,但如果该帖子已经在另一个标签下,则返回下一个最近的帖子。
这是我到目前为止所拥有的。
$ ignore string基本上是要忽略的标签:“AND $ wpdb-> terms.name NOT LIKE'%”。$忽略。“%'”
$ 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 BYs和JOINS的变体,但还没有完全弄明白。