我想统计 (*) 有多少客户创建了帖子或发表了评论。如果同一客户发布了多个帖子和评论,则应只计算一次。
客户表:
ID
姓名
...
1
Jonh
2
标记
3
王
4
Doe
张贴表:
ID
USER_ID
...
1
1
2
1
3
3
4
1
评论表:
ID
USER_ID
...
1
1
2
3
3
3
4
4
它应该返回 count(*) = 3
(user_id:1、3 和 4)。
最佳答案
试试这个。它对我有用并返回您要查找的内容:
SELECT COUNT( USER_ID ) AS TOTAL
FROM (
SELECT USER_ID
FROM POSTS
UNION
SELECT USER_ID
FROM COMMENTS
)X
我使用 POSTS 和 COMMENTS 作为表名,因为我不确定您的确切表名是什么,所以请确保在您的查询中更改它们。
关于Mysql count(*) 基于两个关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40876284/