【发布时间】:2012-04-13 01:03:36
【问题描述】:
我有一个关于 MYSQL 中的选择查询的问题
我有两个不同的表,我想得到某个结果
我使用了 COUNT 方法,它只给了我结果 (>=1)
但实际上,我想使用所有计数为零,包括如何做到这一点?
我的查询是:
SELECT
first.subscriber_id,
second.tag_id,
COUNT(*)
FROM
content_hits first
JOIN content_tag second ON first.content_id=second.content_id
GROUP BY
second.Tag_id,first.Subscriber_id<br>
第一个表:Content_hits
CONTENT_ID SUBSCRIBER_ID
30 1
10 10
34 4
32 2
40 3
28 3
30 6
31 8
12 3
第二个表:Content_tag
CONTENT_ID TAG_ID
1 1
2 1
3 1
4 1
5 1
6 1
7 1
8 1
9 1
10 1
11 2
12 2
13 2
14 2
结果不完整例如:Subsrciber6 for tag_id=1 应该有一个 count(*)=0
subscriber_id tag_id COUNT(*)
1 1 4
2 1 7
3 1 2
4 1 1
5 1 3
7 1 2
8 1 1
9 1 1
10 1 3
1 2 2
2 2 3
3 2 2
【问题讨论】:
-
如果您肯定会在 content_hits 中有记录,但不一定在 content_tag 中,那么将联接更改为左联接,无论 content_tag 中是否有条目,都将返回 content_hits 中的所有条目
标签: mysql sql count select-query