我正在搜索和谷歌搜索很多,但它无助。 这是我的问题,这些表格是:
表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
我无法找到正确的方法和正确的语法来执行此操作。在此先感谢您的帮助!
答案 0 :(得分:1)
试试这个:
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
如果出现任何错误或错误数据,请告诉我。
答案 1 :(得分:1)
根据您的输出,您按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