我需要一些sql查询帮助。总而言之,我有2个表。 Player
(代表体育运动员)和Goal
(代表球员得分的目标)。玩家可以拥有多个目标,并使用目标表(player_id
)上的外键进行链接。
我想要做的是获得“得分最高的玩家”列表(前5名),但我不知道从哪里开始使用MySQL。在PHP中,我获得了所有目标,然后每个目标计算出有多少player_id出现并将它们分组(然后使用玩家阵列和他们的目标数,将数组减少到5)。它有效,但我几乎肯定我可以在MySQL中进行计数。
我该如何处理?
修改
表格看起来像
播放器
ID
Name
目标
player_id
scored_against
time
答案 0 :(得分:1)
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