Mysql 计算分配给每个人的活动
我有一个问题,我需要能够计算一个孩子注册要做的活动的数量。目前,我有以下几点:Mysql 计算分配给每个人的活动,mysql,sql,database,Mysql,Sql,Database,我有一个问题,我需要能够计算一个孩子注册要做的活动的数量。目前,我有以下几点: SELECT child_fname, activity_id FROM Child LEFT JOIN Activity ON Activity.ActivityID=activity.activity_id ORDER BY Child.child_fname; 我的桌子是这样的: 子表 孩子的名字 孩子的第二个名字 儿童年龄 活动 活动标识 活动名称 活动价格 儿童活动 儿童身份证 活动标识 我
SELECT child_fname, activity_id
FROM Child
LEFT JOIN Activity
ON Activity.ActivityID=activity.activity_id
ORDER BY Child.child_fname;
我的桌子是这样的:
子表
- 孩子的名字
- 孩子的第二个名字
- 儿童年龄
- 活动标识
- 活动名称
- 活动价格
- 儿童身份证
- 活动标识
我在找这样的东西
- [名称][活动数目]
- 山姆·史密斯5
- 瑞秋·史密斯4
我尝试使用联接,但我的查询没有更新新数据使用
内部联接
SELECT Child.child_firstname, COUNT(Activity.activity_id)
FROM Child
INNER JOIN Activity ON Activity.activity_id=ChildActivity.activity_id
INNER JOIN ChildActivity ON ChildActivity.child_id=Child.child_id
ORDER BY Child.child_firstname;
请检查列名和表格。示例
这就是我认为您想要的
SELECT child_fname as Name, count(activity_id) as `Number of Activities`
FROM Child
LEFT JOIN ChildActivity
ON ChildActivity.child_id=Child.child_id
GROUP BY Child.child_id
ORDER BY COUNT(activity_id) DESC;
关键是您希望将
Child
与ChildActivity
合并,并按Child
分组,这样,对于Child
中的每个记录,您都可以获得活动计数。Ah!对不起,是的,我确实有一个child_id,它是child表中的一个主要字段。是的,这个有效!你知道如何按照活动最多的人来分类吗?我尝试通过ChildActivity.activity\u id添加此组;但是它把它们都加在了一起(孩子们),因为有些孩子的名字是一样的。我已经编辑了这个查询,以包含克劳塞萨克·尤克里斯·李尔的订单!这是完美的,我想我正确地将你的答案标记为正确答案。再次非常感谢!:)你能解释一下你最后一句话的意思吗?为什么给定的JOIN
查询没有“更新新数据”?