我正在尝试在wpdb上做一个查询,以获得过去一周内评论最多的帖子……你知道我做错了什么吗?
$querystr = "SELECT comment_count, ID, post_title
FROM $wpdb->posts wposts, $wpdb->comments wcomments
WHERE wposts.ID = wcomments.comment_post_ID
AND wcomments.comment_date >= CURDATE() - 7
GROUP BY wposts.ID
ORDER BY comment_count DESC
LIMIT 0 , 10
";
$pageposts = $wpdb->get_results($querystr);
该查询似乎获得了所有时间的热门评论帖子,而不是过去一周评论的热门评论帖子。
提前谢谢。
发布于 2011-06-25 10:29:33
Lonut,它解决了日期范围和评论最多的问题,但它不会选择在过去X时间间隔内评论最多的帖子。
这应该可以做到:
$querystr = "SELECT comment_count, ID, post_title
FROM $wpdb->posts wposts, $wpdb->comments wcomments
WHERE wposts.ID = wcomments.comment_post_ID
AND wposts.post_status='publish'
AND wcomments.comment_approved='1'
AND wcomments.comment_date > DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 1 WEEK)
GROUP BY wposts.ID
ORDER BY comment_count DESC
LIMIT 0 , 10
";
编辑:根据日期从一年更改为一周进行筛选
发布于 2011-06-25 09:53:57
这应该是可行的:
global $wpdb;
$querystr = $wpdb->get_results("SELECT comment_count, ID,post_title
FROM $wpdb->posts
WHERE
post_status='publish' AND
post_date > DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 1 WEEK)
ORDER BY comment_count DESC
LIMIT 0 , 10");
发布于 2011-06-25 09:53:59
您是按posts
表的comment_count
字段排序的。尝试对与组匹配的评论数量进行排序:
ORDER BY count(*) desc
https://stackoverflow.com/questions/6477032
复制相似问题