【问题标题】:WordPress Query HelpWordPress 查询帮助
【发布时间】:2011-02-01 19:28:55
【问题描述】:

尝试构建一个有点复杂的 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

我收到此错误消息:

“where 子句”中的未知列“post_count”

知道为什么会这样吗?我的理论:

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

如果你能解释一下,我将不胜感激。

谢谢。

【问题讨论】:

    标签: mysql wordpress


    【解决方案1】:

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

    HAVING post_count > 9GROUP BY 之后

    最终查询将是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;

    【讨论】:

    • 我应该将 HAVING 子句与查询的其余部分放在哪里?
    【解决方案2】:

    您正在寻找“HAVING”运算符。

    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;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-14
      • 1970-01-01
      • 1970-01-01
      • 2011-11-07
      • 2011-07-19
      • 2011-04-28
      • 2011-02-01
      • 2010-12-24
      相关资源
      最近更新 更多