我正在尝试计算 2 个表中的帖子数并加入我保留名称的第三个表,但我真的很难做到这一点..
T1 - id, message, id_users
T2 - id, reply, id_users
T3 - id, name
T1 只有主题,T2 只有主题的回复,T3 有用户的信息,比如名字..
我想做统计,哪个用户有最多的帖子(包括主题),像这样:
user1 - 454 total (topics + posts)
user2 - 421 total (topics + posts)
等等..
我真的无法编写 SQL 来执行此操作,我所知道的都行不通,也无法弄清楚,我可能会写入 ORDER BY 设置为从最高职位到最低职位进行 ORDER..
最佳答案
您可以对 T1
和 T2
执行 UNION
,然后将结果与 T3
合并,最后执行GROUP BY
到 COUNT
帖子数,如下所示:
SELECT names, COUNT(*) as posts
FROM T3
JOIN (
SELECT id_users FROM T1
UNION All
SELECT id_users FROM T2
) as t
ON T3.id = t.id_users
GROUP BY id_users
关于php - 计算来自 2 个 MySQL 表的行 JOIN 与第 3 和 ORDER BY 最高计数结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21254917/