Я управляю сайтом статистики баскетбола, и у меня есть таблица с названием game_stats_lakers.
Я хочу иметь возможность получить максимальное число из определенных столбцов, точек, передач, подборов (totr), а затем из любого числа, которое я хочу, чтобы получить идентификатор игры (gid), связанный с этим числом .
Я хочу сгруппировать его по всем временам года (sid) игрока (playerid) в команде.
Каждая игра имеет только один гид, но, очевидно, каждый максимальный показатель может быть из другой игры. Проще говоря, я хочу, чтобы каждый игрок за сезон получал наибольшее количество очков, помощь и отскок для каждого игрока.
Я хочу, чтобы результат запроса был похож на приведенный ниже.
playerid sid max_points max_points_gid max_assists max_assists_gid max_totr max_totr_gid
2 0304r 60 234 15 203 20 544
2 0405r 62 271 16 135 15 356
Имеет ли это смысл?
Я просто не знаю, как это сделать, я пробовал так много разных запросов, и все они просто никогда не были правы. Это мои настоящие имена полей (очки, ассисты, тотр, гид, playerid, sid), я просто привел случайные числа в качестве примера.
Большое спасибо за любую помощь!
Формат моей таблицы game_stats_lakers выглядит следующим образом.
gid teamid sid playerid min fgm fga 3ptm 3pta ftm fta points assists totr
233 2 0304r 300 35 3 10 2 5 10 12 18 13 6
234 2 0304r 300 26 2 5 0 1 2 3 6 2 3
235 2 0304r 300 29 10 20 3 8 10 12 33 4 2
Использование второго решения GMB, приведенного ниже, близко. Я вставил свой код и результат. Проблема в том, что гид не меняется для каждого сезона, тот же самый гид снижается с первого сезона. Вот результат. Идеи?
Выполнение запроса:
select
playerid,
sid,
max(points) max_points,
(
select t1.gid
from game_stats_lakers t1
where t1.playerid = t.playerid
order by t1.points desc limit 1
) max_points_gid,
max(assists) max_assists,
(
select t1.gid
from game_stats_lakers t1
where t1.playerid = t.playerid
order by t1.assists desc limit 1
) max_assists_gid,
max(totr) max_totr,
(
select t1.gid
from game_stats_lakers t1
where t1.playerid = t.playerid
order by t1.totr desc limit 1
) max_totr_gid from game_stats_lakers t group by playerid, sid
Результат здесь ... обратите внимание на повторные GID.
playerid sid max_points max_points_gid max_assists max_assists_gid max_totr max_totr_gid
2 0304r 45 233 13 669 10 404
2 0405r 42 233 14 669 8 404
2 0506r 81 233 11 669 12 404
2 0607r 60 233 16 669 11 404