我想算一下(*)客户创建帖子或发表评论的程度。如果同一个客户发了几个帖子和评论,它应该只计算一次。
客户表:
的 ID
的 Name
的 ...
< /强>
1
Jonh
2
Mark
3
King
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)。
答案 0 :(得分:2)
试试这个。它对我有用,并返回你正在寻找的东西:
SELECT COUNT( USER_ID ) AS TOTAL
FROM (
SELECT USER_ID
FROM POSTS
UNION
SELECT USER_ID
FROM COMMENTS
)X
我使用POSTS和COMMENTS作为表名bc我不确定你的确切表名是什么,所以一定要在查询中更改这些名称。
答案 1 :(得分:1)
这应该有效:
SELECT COUNT(DISTINCT USER_ID) FROM (
SELECT USER_ID FROM POST_TABLE
UNION
SELECT USER_ID FROM COMMENT_TABLE
)