SQL Get Max Group By

时间:2015-09-01 19:06:24

标签: php mysql sql

我正在尝试构建一个个人资料页面,并且已经迷失了如何进行查询。

示例表是:

SteamID          | Name      | Map        | Time     | Date
76561198014817451  Player      surf_test    217.89     1440739095
76561198014817451  Player1     surf_mode    210.65     1440739095
76561198014817451  Player1     surf_test    209.12     1440739095
76561198014817451  Player      surf_test    287.89     1440739095
76561198014817451  Player2     surf_test    200.89     1440739095
76561198014817451  Player      surf_haven   217.29     1440739095
76561198014817451  Player1     surf_haven   237.49     1440739095
76561198014817451  Player2     surf_test    212.73     1440739095
76561198014817451  Player      surf_test    211.29     1440739095
76561198014817451  Player      surf_haven   200.48     1440739095
76561198014817451  Player3     surf_test    198.81     1440739095

期望的结果将如下:

SteamID          | Name      | Map        | Time     | Date
76561198014817451  Player      surf_test    211.29     1440739095
76561198014817451  Player      surf_haven   200.48     1440739095

如果我只是搜索播放器,它会在每张地图上返回最佳时间,而不是为每张地图返回所有时间。

或者,如果我查询播放器1,那将是:

SteamID          | Name      | Map        | Time     | Date
76561198014817451  Player1     surf_mode    210.65     1440739095
76561198014817451  Player1     surf_haven   237.49     1440739095
76561198014817451  Player1     surf_test    209.12     1440739095

SteamID和Date都会有所不同,例如,它们在这里是相同的。

我正在收集我需要使用INNER JOIN这样的标题吗?

这是作为一个dublicate添加,但我可以看到的其他问题不允许您按特定列过滤它,例如为单个玩家选择最佳时间而不是为所有玩家返回最佳时间查询如:

select Name, Map, max(Time)
from surf_times
group by SteamID

0 个答案:

没有答案