我设计了一个板球比赛数据库,在这里我收集了所有的实时数据,并尝试执行以下查询。
我正在尝试执行一个查询,将显示完全相同的结果,从官方网站上的实际数据显示在图像上。
我想要实现的是-我想要查询显示在整个锦标赛中一局中得分最多的比赛,就像这样。请看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非常陌生。
1条答案
按热度按时间nzk0hqpo1#
你的
group by p.name, innings
使行唯一的方法是p.name
我假设的是innings
该球员在任何特定的游戏(请原谅我的无知,因为我们不知道板球在美国)。因为你列出的网站包含了关于比赛的信息,这告诉我你应该使用
group by <matchid>, p.name, innings
,而不是。