通过气泡排序从两列中选择唯一的球员得分

问题描述 投票:0回答:1

我面临一个非常有趣的挑战,我要么太过努力(缺少一个简单的解决方案),要么比我想出的要复杂得多……”

本质上,我有一个可以追踪分数的游戏。名为scores的表具有以下列:

[id(pk,ai),emailnamedurationmoves

一个播放器(通过电子邮件标识)可以有多行。为了确定获胜者,我们对持续时间进行气泡排序然后移动。挑战在于:我们如何获得(通过电子邮件)获奖者的唯一列表?

GROUP BY不能正常工作,因为这是一个汇总。我们需要在持续时间和动作之间保持平衡。

这是模式和问题的示例:http://sqlfiddle.com/#!9/0b1530/2-注意相同的电子邮件是如何按预期显示的。

此示例使用GROUP BY,但是它选择了错误的数据:http://sqlfiddle.com/#!9/0b1530/3-注意[email protected]的分数是不正确的。正确的分数应该是3031(分别是持续时间和移动)。 [email protected]应该显示3135(分别是持续时间和移动)

然后,最后,在电子邮件列上选择不重复在这里也不起作用,例如:http://sqlfiddle.com/#!9/0b1530/4

我已经尝试了一些JOIN,但是我无法使它们正常工作,也无法保持行奇偶校验。

我面临一个非常有趣的挑战,我要么太过努力(缺少一个简单的解决方案),要么比我想像的复杂得多。 ...

mysql sql rdbms
1个回答
0
投票

我认为您想要每个玩家的分组最大持续时间,然后是每个分组的最大分数。

© www.soinside.com 2019 - 2024. All rights reserved.