MySQL两个查询的计数之和
我(非常)不熟悉MySQL。请原谅我的无知 我正在制作一个曲棍球统计数据库,我需要把所有助攻和所有进球加在一起,得到“总分”。我已经计算出了两个查询,但我无法计算出如何将这两个查询相加。 以下是查询:MySQL两个查询的计数之和,mysql,count,sum,Mysql,Count,Sum,我(非常)不熟悉MySQL。请原谅我的无知 我正在制作一个曲棍球统计数据库,我需要把所有助攻和所有进球加在一起,得到“总分”。我已经计算出了两个查询,但我无法计算出如何将这两个查询相加。 以下是查询: select player_id, count(*) from(select * from 1st_assists union select * from 2nd_assists) as tem join players on tem.fk_player_id=players.player_id
select player_id, count(*)
from(select * from 1st_assists
union
select * from 2nd_assists) as tem
join players on tem.fk_player_id=players.player_id
group by fk_player_id
order by count(*) desc
select player_id, count(*)
from goals_for
join shots_for on goals_for.fk_shot_for_id=shots_for.shot_for_id
join players on shots_for.fk_player_id=players.player_id
group by player_id
order by count(*) desc;
如何将这两个查询合并为一个查询并获得两个计数的总和
下面是每个查询的结果
Total Assists
player_id count(*)
79 24
55 22
45 17
90 16
40 15
65 15
37 13
1 13
20 11
84 11
64 10
27 9
93 7
8 5
24 3
57 1
Goals
player_id count(*)
90 38
37 28
40 19
55 13
45 11
1 8
24 8
20 8
84 8
27 6
8 5
79 4
65 4
93 1
64 1
这是未经测试的,但请您尝试一下:
select p.player_first_name, p.player_last_name, (count1+count2) as total_count
from
(select player_id, count(*) count1
from(select * from 1st_assists
union
select * from 2nd_assists) as tem
join players on tem.fk_player_id=players.player_id
group by fk_player_id
order by count(*) desc) q1
left join
(select player_id, count(*) count2
from goals_for
join shots_for on goals_for.fk_shot_for_id=shots_for.shot_for_id
join players on shots_for.fk_player_id=players.player_id
group by player_id) q2
ON q1.player_id=q2.player_id
left join player p ON q1.player_id=p.player_id
order by (count1+count2) desc;
你想得到每个玩家的总数吗?是的,没错。每个玩家的总数。是否所有玩家都出现在您的两个查询中?这看起来很有效!!如何按总分对desc进行排序?我尝试了几件事,但都没有成功……没关系,我犯了个愚蠢的语法错误。一切都好。如果我能知道你是怎么做到的。我可能要花点时间盯着它看……非常感谢,你只用了10分钟就回答了。我应该在12小时前问这个问题!!那么,查询是否一切正常?我只在player_id列中加入了这两个查询,然后添加了每个子查询提供的计数。请参阅编辑,了解按总计数降序排列的顺序。是。知道了。再次感谢!!