[英]MySQL COUNT in subquery using GROUP BY
I was searching and googling a lot but it was helpless. 我正在搜索和谷歌搜索很多,但它是无助的。 Here is my problem, with these tables:
这是我的问题,这些表:
Table members
表
members
id name address fk_family
1 Tony A Street 1
2 Miles B Street 1
3 Vic C Street 1
4 Luca D Street 2
5 Matt E Street 3
Table visits
表
visits
id fk_member date
1 1 2013-07-20
2 1 2013-07-22
3 1 2013-07-23
4 2 2013-07-22
5 3 2013-07-19
6 4 2013-07-21
7 4 2013-07-22
8 4 2013-07-23
9 5 2013-07-20
10 5 2013-07-23
I need COUNT of visits, not by person, but by family, i expect using group by members.fk_family. 我需要COUNT次访问,不是按人,而是按家庭,我希望使用group by member.fk_family。 Result table should looks like this:
结果表应如下所示:
fk_family visit_count
1 5
2 3
3 2
I cant find the correct way and right syntax to do this. 我无法找到正确的方法和正确的语法来做到这一点。 Thanks in advance for your help!
在此先感谢您的帮助!
try this: 尝试这个:
select fk_member as family, count(v.fk_member) visit_count from members m
inner join visits v on m.fk_family = v.fk_member
group by v.fk_member
if any error or wrong data occurs then let me know please. 如果出现任何错误或错误数据,请告诉我。
According to your output, you are grouping by fk_family
and joining by fk_member
to member's id
. 根据你的输出,你被分组
fk_family
并通过加入fk_member
会员的id
。 Just like this: 像这样:
SELECT
m.fk_family AS fk_family,
COUNT(v.id) AS visits_count
FROM visits v
JOIN members m
ON v.fk_member = m.id
GROUP BY m.fk_family
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.