选择最佳50个结果和GROUP BY ID

时间:2018-06-25 12:53:49

标签: php mysql

我有一个MySQL数据库,其中包含比赛及其玩家(参与者)的结果和详细信息,我想按降序检索所有玩家的所有50个最高得分的总和。我尝试过这样的事情:

SELECT punctaj.id, ROUND(SUM(punctaj.punctaj_etapa)) AS puctaj_total, jucatori.nume 
FROM punctaj 
JOIN jucatori ON punctaj.id = jucatori.id 
WHERE sezon = 19 OR sezon = 20 OR sezon = 21 OR sezon = 22 OR sezon = 23 OR sezon = 24
GROUP BY punctaj.id 
ORDER BY puctaj_total DESC 

但是这将返回所有结果的总和,我只需要获得最佳50分的总和即可。因此,我认为我需要一个子查询来按降序或类似的方式使用最佳50个玩家的限制。 该表如下所示:

enter image description here

请指教!谢谢!

更新: 我想检索每个球员和特定季节的50个最佳得分总和(我将其添加到WHERE子句中)。我附加的图像是用于punctaj表的,而我没有添加jucatori表的图像,因为我认为它并没有真正的帮助,因为它包含一些名称和一些ID,而我正在其中加入以获取每个玩家的姓名,具体取决于其个人ID。因此jucatori包含两列:idnume。 结果不需要按季节分组,我只需要为我在WHERE子句中添加的季节的最佳50个结果求和即可。 如果我添加LIMIT 50,我相信应该在计算SUM之前添加它,所以我认为它是需要的子查询,但是我对MySQL没有太多的经验。

0 个答案:

没有答案