sql—如何执行与实际统计相同的查询结果

v7pvogib  于 2021-08-01  发布在  Java
关注(0)|答案(1)|浏览(283)

我设计了一个板球比赛数据库,在这里我收集了所有的实时数据,并尝试执行以下查询。
我正在尝试执行一个查询,将显示完全相同的结果,从官方网站上的实际数据显示在图像上。
我想要实现的是-我想要查询显示在整个锦标赛中一局中得分最多的比赛,就像这样。请看https://stats.espncricinfo.com/ci/engine/records/batting/most_runs_innings.html?id=13202;类型=锦标赛
问题-有些球员在比赛中多次得分最多,但是由于我的查询,它只会显示该球员一次。例如,m labuschagne和d warner出现过不止一次。这是因为我正在使用group by player's names,但我不知道如何修改查询以使名称显示多次。请参阅所附图片。
大多数跑动都是在一局中完成的
使用的代码:

SELECT p.name, innings, MAX(runs) AS max_runs
FROM testruns
JOIN players AS p
ON testruns.player_id = p.id
WHERE runs IS NOT NULL
GROUP BY p.name, innings
ORDER BY max_runs DESC
LIMIT 50

创建的表格:比赛、裁判员、边门、球员、角色、场地、团队、试运行
我的testruns表
我对sql非常陌生。

nzk0hqpo

nzk0hqpo1#

你的 group by p.name, innings 使行唯一的方法是 p.name 我假设的是 innings 该球员在任何特定的游戏(请原谅我的无知,因为我们不知道板球在美国)。
因为你列出的网站包含了关于比赛的信息,这告诉我你应该使用 group by <matchid>, p.name, innings ,而不是。

相关问题