php - SELECT best 50 results and GROUP BY id
问题描述
我有一个 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 名玩家使用降序或类似的限制。该表如下所示:
请指教!谢谢!
更新:
我想检索每个球员和特定赛季的 50 最佳得分总和(我将添加到 WHERE 子句中)。我附上的图像是针对punctaj
表格的,我没有为表格添加图像,jucatori
因为我认为它并没有真正的帮助,因为它包含一些带有一些 ID 的名称,我在这些名称上进行 JOIN 以获得每个玩家的名称,具体取决于他的个人身份证。所以jucatori
包含两列:id
和nume
。结果不需要按季节分组,我只需要得到我在 WHERE 子句中添加的季节的最佳 50 个结果的总和。如果我添加 a LIMIT 50
,我相信这应该在SUM
计算之前添加,所以我相信它需要一个子查询,但我对 MySQL 没有太多经验。
解决方案
推荐阅读
- java - Kotlin 无法解析的日期 - ParseException 错误
- automated-tests - 在无头 chrome 上更改用户代理
- sapui5 - SAP UI5 NetworkGraph(自定义位置;视图;路由)
- c++ - 如何使用 QSettings 向我的配置文件添加注释?
- reactjs - 我想运行 App.js 来显示它,但它仍然只显示 index.js 中的代码
- angular - Angular - (TS) 动态导入调用返回“承诺”
- android - 如何获取设备的gps纬度和经度?
- apache-spark - 本机文件系统上的 Spark 行为
- mongodb - 字段中的 MongoDb 大数组与每个包含一个数组项的许多小文档
- javascript - 如何使用 jspdf 提高我的 pdf 字体和图像的质量?