我需要一些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/

10-10 10:18