Задать вопрос
@NIKA_R

Почему запрос sql возвращает неверное количество полей при поиске максимума?

spoiler
67952cd68d94d384016707.png
Определить матч (матчи), в котором было забито больше всего голов.
Вывод: команда-соперник, количество голов.
spoiler
67952c6a72e0e507755539.png

with t as (select  g.team, (sum(l.goals)+ g.goals) as goals from Lineups as l
left join  Games as g on g.game_id=l.game_id
group by g.game_id, g.team,  g.goals,g.game_date)
select team, goals from t
where goals in (select  max(goals) from t)

spoiler
67952cf2dd7db127942865.png

with t as (select  g.team, (sum(l.goals)+ g.goals) as goals from Lineups as l
left join  Games as g on g.game_id=l.game_id
group by g.game_id, g.team,  g.goals,g.game_date)
select top 1 with ties team, goals from t
order by goals desc

и ещё несколько решений.

Укажите на ошибку, не решайте за меня....

Правильный ответ проходящий верификацию на первой проверочной базе
679549e5a1afd557380374.png

Данные таблиц :
Games(game_id, team, city, goals, game_date, own)
game_id - номер тура, team - команда-соперник, city - город, где проводится матч (NULL, если дома), goals - голы, которые забил соперник, включая собственные автоголы (NULL, если не было забито), game_date - дата/время матча, own - автоголы соперника (NULL, если таких не было);

Lineups(start, game_id, player_id, time_in, goals, cards)
start - 'B' - игрок вышел в стартовом составе, 'S' – начал матч в запасе; time_in - число минут, проведенных игроком на поле (NULL, если не выходил); goals - число голов, которые игрок забил в матче (NULL, если не забивал); cards – карточки: 'Y' (желтая), 'Y2' (две желтые), 'R' (прямая красная), 'YR' (желтая+прямая красная), NULL (карточек не было).

67954a4f86465822512550.png

Ура!
6796a01d8a4ee689832441.png

Проблема заключалась в обработке null значений...
Спойлер
https://github.com/RuGernika/SQL_training.io/blob/...
  • Вопрос задан
  • 82 просмотра
Подписаться 1 Простой 4 комментария
Решения вопроса 1
rc-dm
@rc-dm
Full-Stack Web Developer
Если вы хотите найти команду (или команды) с максимальным количеством голов, то вам нужно убрать лишние поля из группировки и сосредоточиться только на team и goals
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы