gpt4 book ai didi

mysql - 当存在于多个类别中时,从 WordPress 获取帖子会返回相同的结果

转载 作者:行者123 更新时间:2023-11-29 13:54:06 26 4
gpt4 key购买 nike

在网站的主页中,我需要返回使用 WordPress 创建的博客的最后 3 篇文章。

我有这个代码:

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 语句。

最佳答案

我可以告诉您需要做什么,但我无法修改查询来执行此操作。您在问题中使用了术语“类别”,但您的数据中没有使用该名称的字段。

您需要按照所需的级别聚合数据,然后包含 having 子句。以下group by可能会解决您的问题:

group by p.id
having sum(case when slug = 'notizie-notifiche' then 1 else 0 end) = 0

关于mysql - 当存在于多个类别中时,从 WordPress 获取帖子会返回相同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16155732/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com