Я пытаюсь определить, кто лучший бомбардир в группе чемпионата мира (это личный проект) У меня есть данные, но мне трудно использовать счетчик, группировку и иметь, чтобы выполнить то, что мне нужно.
Мне нужно подсчитать голы Месси (лучший бомбардир) и сгруппировать по каждой из групп, чтобы я получил наивысший результат в каждой группе.
На данный момент у меня есть только соединения:
select * from zonas
left join goles_zonas on (zonas.id = goles_zonas.Id_zona)
inner join goles on (goles.id = goles_zonas.id_gol)
inner join jugadores on (goles.id_jugador = jugadores.id)
Изображение, а не текст. Не указывайте столбец для группы, счетчика или балла. Не приняли ни одного ответа.
Ответ, который вы ищете, можно найти здесь. spaghettidba.com/2015/04/24/…
вместо отображения всех столбцов (с помощью SELECT *), чтобы сгруппировать данные, я считаю необходимым выполнять SELECT только для определенных столбцов, которые считаются ключами для определения разницы в каждой группе набора данных для получения агрегации (в в этом случае COUNT) каждой группы наборов данных
SELECT Id_zona, id_gol, id_jugador, COUNT(1) as number_of_goal
FROM zonas
left join goles_zonas on (zonas.id = goles_zonas.Id_zona)
inner join goles on (goles.id = goles_zonas.id_gol)
inner join jugadores on (goles.id_jugador = jugadores.id)
GROUP BY Id_zona, id_gol, id_jugador
Он должен быть сгруппирован по всем столбцам, включая оператор выбора, который не агрегируется.
но если вы ожидаете, что будут отображаться и другие столбцы, которые не являются частью ключей группировки, вы можете сделать это следующим образом
SELECT goles_zonas.* , x.* FROM (
SELECT Id_zona, id_gol, id_jugador, COUNT(1) as number_of_goal
FROM zonas
left join goles_zonas on (zonas.id = goles_zonas.Id_zona)
inner join goles on (goles.id = goles_zonas.id_gol)
inner join jugadores on (goles.id_jugador = jugadores.id)
GROUP BY Id_zona, id_gol, id_jugador ) X
LEFT JOIN goles_zonas on (x.id = goles_zonas.Id_zona)
Вам следует отредактировать вопрос и предоставить желаемый результат. Также было бы полезно, если бы вы поместили таблицы в вопрос как таблицы текст, а не изображения.