在网站的主页中,我需要返回博客的最后 3 篇文章,这些文章是用 wordpress 创建的。
我有这个代码:
SELECT p.post_title, p.post_date, p.post_content, wpr.object_id, dt_blog_terms.name, dt_blog_terms.slug
FROM dt_blog_terms
INNER JOIN dt_blog_term_taxonomy ON dt_blog_terms.term_id = dt_blog_term_taxonomy.term_id
INNER JOIN dt_blog_term_relationships wpr ON wpr.term_taxonomy_id = dt_blog_term_taxonomy.term_taxonomy_id
INNER JOIN dt_blog_posts p ON p.ID = wpr.object_id
WHERE taxonomy = 'category'
AND p.post_type = 'post'
AND p.post_status = 'publish'
AND slug != 'notizie-notifiche'
ORDER BY `post_date` DESC
LIMIT 3
如您所见,我有一个要排除的分类(notizie-notifiche)。这个 sql 字符串有效,但是当帖子有多个类别时我会遇到问题。在这种情况下,每个类别都返回一次,而我只想显示一次。
任何想法?我以为我可以使用 DISTINCT,但它似乎不适用于这种 SELECT 语句。