加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – MySQL COUNT()特定条件内的帖子总数?

发布时间:2020-12-13 22:29:36 所属栏目:PHP教程 来源:网络整理
导读:我一直在想弄清楚我做错了什么,让我解释一下我的 MySQL结构(所以你得到了更好的理解),直到我直接回答这个问题. 我有一个简单的PHP论坛,我在两个表(帖子和主题)中有一个名为’deleted’的列,如果它等于0表示它显示(被认为没有删除/存在)或者它等于1它隐藏(被
我一直在想弄清楚我做错了什么,让我解释一下我的 MySQL结构(所以你得到了更好的理解),直到我直接回答这个问题.

我有一个简单的PHP论坛,我在两个表(帖子和主题)中有一个名为’deleted’的列,如果它等于0表示它显示(被认为没有删除/存在)或者它等于1它隐藏(被认为已删除/不存在) – bool / lean.

现在,我正在讨论“特定标准”…我想要使用其id(forum_id)在特定论坛中获得总计数,确保它只计算未删除的帖子(删除= 0)并且它们的父主题也不会被删除(已删除= 0).

列/表名称是不言自明的(如果需要,请参阅下面的工作 – 如果需要).

我尝试了以下(使用’简单’JOIN):

SELECT COUNT(t1.post_id) 
  FROM forum_posts AS t1,forum_topics AS t2 
 WHERE t1.forum_id = '{$forum_id}' 
   AND t1.deleted = 0 
   AND t1.topic_id = t2.topic_id 
   AND t2.deleted = 0 
 LIMIT 1

我也试过这个(使用子查询):

SELECT COUNT(t1.post_id) 
  FROM forum_posts AS t1 
 WHERE t1.forum_id = '{$forum_id}' 
   AND t1.deleted = 0 
   AND (SELECT deleted 
          FROM forum_topics 
         WHERE topic_id = t1.topic_id) = 0 
 LIMIT 1

但两者都不符合具体标准.

感谢所有帮助!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读