Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 3带计数的表查询_Mysql_Sql_Sqlplus - Fatal编程技术网

Mysql 3带计数的表查询

Mysql 3带计数的表查询,mysql,sql,sqlplus,Mysql,Sql,Sqlplus,我在处理3表查询时遇到了很大的困难 该场景是团队有许多或没有成员,一个成员可以有许多或没有任务。我想得到的是每个团队的任务数团队有自己的ID,成员在团队ID上将其作为FK持有,任务在任务上有成员ID 我想获取团队的报告。名称、计数(个人/团队)、计数(任务/团队) 我自己很困惑,我的想法是在团队和成员之间使用外部连接,所以我拥有所有团队和他们拥有的任何成员。从这里开始,我完全搞糊涂了。如果有人能给我指出正确的方向,这样我就有工作要做了,我会非常棒的我想你可以通过聚合做你想做的事情--count(

我在处理3表查询时遇到了很大的困难

该场景是
团队
有许多或没有
成员
,一个
成员
可以有许多或没有
任务
。我想得到的是每个
团队的
任务数<代码>团队
有自己的
ID
成员
团队ID
上将其作为FK持有,
任务
任务
上有
成员ID

我想获取团队的报告。名称、计数(个人/团队)、计数(任务/团队)


我自己很困惑,我的想法是在团队和成员之间使用外部连接,所以我拥有所有团队和他们拥有的任何成员。从这里开始,我完全搞糊涂了。如果有人能给我指出正确的方向,这样我就有工作要做了,我会非常棒的

我想你可以通过聚合做你想做的事情--
count(distinct)


我认为您可以使用聚合做任何您想做的事情——以及
count(distinct)


我认为您可以使用聚合做任何您想做的事情——以及
count(distinct)


我认为您可以使用聚合做任何您想做的事情——以及
count(distinct)

试试这个:

SELECT Team.name, COUNT(Person.id_person), COUNT(Tasks.id_task)
FROM Team t,
LEFT JOIN Person p on p.team_id = t.id_team
LEFT JOIN Tasks ts on ts.person_id = p.id_person
GROUP BY p.team_id, ts.person_id
试试这个:

SELECT Team.name, COUNT(Person.id_person), COUNT(Tasks.id_task)
FROM Team t,
LEFT JOIN Person p on p.team_id = t.id_team
LEFT JOIN Tasks ts on ts.person_id = p.id_person
GROUP BY p.team_id, ts.person_id
试试这个:

SELECT Team.name, COUNT(Person.id_person), COUNT(Tasks.id_task)
FROM Team t,
LEFT JOIN Person p on p.team_id = t.id_team
LEFT JOIN Tasks ts on ts.person_id = p.id_person
GROUP BY p.team_id, ts.person_id
试试这个:

SELECT Team.name, COUNT(Person.id_person), COUNT(Tasks.id_task)
FROM Team t,
LEFT JOIN Person p on p.team_id = t.id_team
LEFT JOIN Tasks ts on ts.person_id = p.id_person
GROUP BY p.team_id, ts.person_id

您想使用
计数不同的

select t.name,
       count(distinct m.memberid) as nummembers,
       count(distinct tk.taskid) as numtasks
from team t left join
     member m
     on t.teamid = j.teamid left join
     tasks tk
     on tk.memberid = m.memberid
group by t.name;


您想使用
计数不同的

select t.name,
       count(distinct m.memberid) as nummembers,
       count(distinct tk.taskid) as numtasks
from team t left join
     member m
     on t.teamid = j.teamid left join
     tasks tk
     on tk.memberid = m.memberid
group by t.name;


您想使用
计数不同的

select t.name,
       count(distinct m.memberid) as nummembers,
       count(distinct tk.taskid) as numtasks
from team t left join
     member m
     on t.teamid = j.teamid left join
     tasks tk
     on tk.memberid = m.memberid
group by t.name;


您想使用
计数不同的

select t.name,
       count(distinct m.memberid) as nummembers,
       count(distinct tk.taskid) as numtasks
from team t left join
     member m
     on t.teamid = j.teamid left join
     tasks tk
     on tk.memberid = m.memberid
group by t.name;


如果您提供的表格样本和预期结果表格会有很大帮助!:-)如果您提供的表格样本和预期结果表格会有很大帮助!:-)如果您提供的表格样本和预期结果表格会有很大帮助!:-)如果您提供的表格样本和预期结果表格会有很大帮助!:-)谢谢我之前已经到达了左边的连接,我错过了group by和count distinct,而不是普通计数!谢谢我之前已经到达了左边的连接,我错过了group by和count distinct,而不是普通计数!谢谢我之前已经到达了左边的连接,我错过了group by和count distinct,而不是普通计数!谢谢我之前已经到达了左边的连接,我错过了group by和count distinct,而不是普通计数!