Sql 从表中计算观众总数
桌上游戏Sql 从表中计算观众总数,sql,postgresql,Sql,Postgresql,桌上游戏 Home | Visitor | Spectators ----------------------------------- a | b | 12 b | c | 15 a | c | 32 b | a | 3 c | a | 8 乒乓球队 id | name -------------- a | TeamA b
Home | Visitor | Spectators
-----------------------------------
a | b | 12
b | c | 15
a | c | 32
b | a | 3
c | a | 8
乒乓球队
id | name
--------------
a | TeamA
b | TeamB
c | TeamC
现在我需要计算每支球队主场观众总数+观众人数
A=12+12+3+8
B=12+15+3
它是否需要按照表格团队的显示方式进行格式化?如果没有,这应该适用于您:
select top 1
(select sum(spectators) from sheet1 where home='a' or visitor='a') as teama,
(select sum(spectators) from sheet1 where home='b' or visitor='b') as teamb,
(select sum(spectators) from sheet1 where home='c' or visitor='c') as teamc
from sheet1;
这将输出为:
teama teamb teamc
55 30 55
有很多方法可以做到这一点,下面是另一个:
SELECT name,sum(sum)
FROM
(SELECT t.name,SUM(g.spectators)
FROM teams t, games g WHERE t.id=home
GROUP BY t.name
UNION
SELECT t.name,SUM(g.spectators)
FROM teams t, games g WHERE t.id=visitor
GROUP BY t.name)visits
GROUP BY name
TeamA的第二个12来自哪里?这不应该是12+32+3+8吗?你试过什么?这看起来像是一个家庭作业。这不是家庭作业,我只是sql的新手。我正在寻找表格团队的格式