gpt4 book ai didi

php - 如何计算某列与另一个表的列匹配的行数

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

我想显示用户发表的帖子数量,但我有几个不同的表,需要匹配 id 并对其进行计数。

类似这样的事情:

用户表

userid       username      email              regdate

34 mister email@some.tld 2013-10-26 12:01:07

帖子表

postid       creator        post_comment      post_title     status

1 34 This is comment Post 1 published
2 12 This is comment Post 2 published
3 34 This is comment Post 3 pending
4 25 This is comment Post 4 published
5 34 This is comment Post 5 published

现在我已经有了一个查询,可以从用户表中选择有关特定用户的所有数据:

mysqli_query($conn, "SELECT * FROM users WHERE userid = $userid");

$userid 是当前登录用户的 ID。这工作正常:它选择有关该用户的所有相关信息。

但我想显示每个用户发布的帖子数量。我在 w3schools 上读到 SQL COUNT 函数的工作原理如下:

mysqli_query($conn, "SELECT COUNT(creator) AS userposts FROM posts WHERE creator=$userid");

但是,正如您在发布的表示例中看到的,5 篇帖子中,3 篇来自用户 34,其中 3 篇未发布。

我不知道如何进行 SQL 查询来选择 userid 与 $userid 匹配的所有用户,然后从帖子中选择创建者和状态,并计算创建者为 $userid 且状态已发布的帖子数。

这是我最终目标的输出:

用户先生已发布 2 条帖子。

最佳答案

为了仅获取已发布帖子的数量,您应该通过 ANDing status = 'published' 重构条件语句

mysqli_query($conn, "SELECT COUNT(creator) AS num_posts FROM posts 
WHERE creator=$userid AND status = 'published'");

关于php - 如何计算某列与另一个表的列匹配的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19612158/

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