gpt4 book ai didi

mysql - 如何将分数记录到数据库中

转载 作者:行者123 更新时间:2023-11-29 23:45:46 27 4
gpt4 key购买 nike

我正在设计一个数据库来记录和分析体育比赛的数据

我的一个表格是“比赛”,它记录了一场比赛的详细信息(球队 ID、地点、日期等)并包括最终得分。我还有另一个表,记录了一场比赛中的特定得分(即谁得分和得分),称为“得分”。我的问题是我是否应该将分数记录在“比赛”中,或者如果我想知道分数,只需将“分数”中的所有分数相加即可?有没有一种方法,如果“分数”行被更新,那么它将重新计算“比赛”中的分数?

谢谢

最佳答案

有一种方法,它被称为“触发器”。您可以在 scores 表上设置触发器,以便每当插入新记录时,scores 表中的相应值都会更新。

从触发器的文档开始,即 here .

如果您的数据不大,那么您可以创建一个具有相同信息的 View 。像这样的东西:

create view v_matchscores as
select m.*, sum(case s.team = m.teama then score else 0 end) as ascore,
sum(case when s.team = m.teamb then score else 0 end) as bscore
from matches m join
scores s
on m.matchid = s.matchid
group by m.matchid

关于mysql - 如何将分数记录到数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25959882/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com