我正在尝试创建一个体育数据库,但我是SQL的新手。
我有进球、助攻等表格。每个进球都有时间、球员ID和比赛ID,以知道是谁以及何时进球。助攻和其他进球也是如此。
然后,我有一张所有球员的桌子。有他们的名字、身份证、号码等。
我想问一下,如果这是一个很好的表间数据划分概念,如果我想查询一名球员,他在所有时间里进了多少球,传了多少次助攻等,那么可以按赛季、比赛等进行过滤。
我完全可以想象如何用外键来做这件事。
但是,如果我在进球榜上有10万个进球甚至更多,那么助攻和其他进球也一样,甚至可能有数百万的记录,这会足够快吗?
另一件事是,例如,如果我查询所有球员,我能根据统计的进球数对球员进行排序吗?
因此,我将在网站上生成一个新的表格,通过单独计算进球、助攻。。。为每一个,然后根据目标和其他事情对它们进行排序?
谢谢你的帮助!
在我看来,你想要实现的目标看起来不错。至于你的第二个问题,我想你想对数据库中已经存在的玩家进行排序。为了实现这一点,MySQL有一个名为ORDERBY的命令
SELECT *
FROM PLAYERS
ORDER BY GOALS
默认情况下,它将按升序排序。如果要按降序排序,请在GOALS后面添加DESC。有关更多详细信息,请查看本教程:https://www.mysqltutorial.org/mysql-order-by/