我需要一些帮助解决今天发生的一个小问题。
要显示网站上的最新帖子,我使用这个脚本,这个脚本也排除了一些类别(我的网站不在wordpress中,但db名称在前面有wp)
SELECT
ID,
post_title,
post_content,
post_date,
GROUP_CONCAT(DISTINCT post_category ORDER BY post_category DESC SEPARATOR ", " ) as "categories"
FROM
wp_posts,
wp_term_relationships,
wp_term_taxonomy
WHERE wp_posts.post_status = "publish"
AND wp_term_relationships.object_id = id
AND wp_term_taxonomy.taxonomy= "category"
AND !(wp_term_taxonomy.term_taxonomy_id = 34472 ||
wp_term_taxonomy.term_taxonomy_id = 34473 ||
wp_term_taxonomy.term_taxonomy_id = 34474 ||
wp_term_taxonomy.term_taxonomy_id = 17)
AND wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id
GROUP BY ID, post_title, post_content, post_date
ORDER BY wp_posts.post_date DESC LIMIT 150
现在问题是我只需要获取今天的帖子,所以我在这个脚本中添加:
AND DATE(post_date) >= CURRENT_DATE
但是在添加这个之后,我看到很多帖子在某些类别中不仅是一个,它们显示两次或更多次。 有人可以帮我解决这个问题吗? 谢谢
请帮忙。
答案 0 :(得分:1)
由于post_date
是您的GROUP的一部分,您应该在GROUP BY
子句之后和ORDER BY
子句之前添加以下内容(不要将其用作{{} 1}}子句):
WHERE