[英]MySQL COUNT in subquery using GROUP BY
我正在搜索和谷歌搜索很多,但它是无助的。 这是我的问题,这些表:
表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
表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
我需要COUNT次访问,不是按人,而是按家庭,我希望使用group by member.fk_family。 结果表应如下所示:
fk_family visit_count
1 5
2 3
3 2
我无法找到正确的方法和正确的语法来做到这一点。 在此先感谢您的帮助!
尝试这个:
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
如果出现任何错误或错误数据,请告诉我。
根据你的输出,你被分组fk_family
并通过加入fk_member
会员的id
。 像这样:
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.