我需要一些SQL查询的帮助。总而言之,我有2张桌子。 Player
(代表体育运动员)和Goal
(代表运动员得分)。玩家可以有多个目标,并且可以使用目标表上的外键(player_id
)进行链接。
我想要做的是获得“最佳得分玩家”(前5名)的列表,但是我不知道从哪里开始使用MySQL。在PHP中,我得到了所有目标,然后每个目标都计数出现了多少player_id并将其分组(然后按玩家数组及其目标计数,将数组减少到5个)。它可以工作,但是我几乎可以肯定我可以在MySQL中进行计数。
我应该如何处理?
编辑
桌子看起来像
播放器
ID
Name
目标
player_id
scored_against
time
最佳答案
SELECT COUNT(PLAYER.PLAYER_ID) as Goals,PLAYER_NAME
FROM PLAYER, GOAL
WHERE GOAL.PLAYER_ID = PLAYER.PLAYER_ID
GROUP BY GOAL.PLAYER_ID
ORDER BY Goals DESC
LIMIT 5
关于php - 通过外键计算行数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22850318/