gpt4 book ai didi

mysql - WordPress 查询帮助

转载 作者:行者123 更新时间:2023-11-29 09:13:20 24 4
gpt4 key购买 nike

尝试构建一个有点复杂的 WordPress 查询。在一个查询中,我试图:

  1. 提取所有 WordPress 作者
  2. 仅限发表过 10 篇或以上帖子的作者(这是我遇到的问题)
  3. 按最新帖子对作者进行排序。

这是我原来的查询:

SELECT wp_users.ID, display_name, user_url, user_email, MAX(post_date) as date FROM wp_users, wp_posts WHERE wp_users.ID = wp_posts.post_author AND wp_posts.post_status = 'publish' AND wp_posts.post_type = 'post' GROUP BY display_name ORDER BY date DESC;

此查询返回所有作者,甚至包括发表帖子数不超过 9 篇的作者。

以下是包含帖子计数的查询:

SELECT wp_users.ID, display_name, user_url, user_email, MAX(post_date) as date, COUNT(post_date) as post_count FROM wp_users, wp_posts WHERE wp_users.ID = wp_posts.post_author AND wp_posts.post_status = 'publish' AND wp_posts.post_type = 'post' GROUP BY display_name ORDER BY date DESC;

在此查询中,您可以看到我添加了:

COUNT(post_date) as post_count

这会完美地返回一切。

只有当我添加这个 WHERE 子句时,查询才会中断

post_count > 9

我收到此错误消息:

Unknown column 'post_count' in 'where clause'

知道为什么会发生这种情况吗?我的理论:

  1. 不适用于分组
  2. 或者 MySQL 不允许多个 AS 语句

如果您能透露一些信息,我将不胜感激。

谢谢。

最佳答案

更改查询 WHERE 部分的条件 post_count > 9

GROUP BY之后添加HAVING post_count > 9

最终查询将是SELECT wp_users.ID, display_name, user_url, user_email, MAX(post_date) as date, COUNT(post_date) as post_count FROM wp_users, wp_posts WHERE wp_users.ID = wp_posts.post_author AND wp_posts。 post_status = 'publish' AND wp_posts.post_type = 'post' GROUP BY display_name HAVING post_count > 9 ORDER BY date DESC;

关于mysql - WordPress 查询帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4867070/

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