Хотелось бы подсчитать количество строк между событиями, где общее количество баллов выше 60, и подсчитать количество строк, где этого события не произошло. Например, 5-й и 6-й игре будет в конечном итоге с более чем 60, так отсчитает 5 строк с не 60 и 2 строки с 60Проблемные пробелы и остроты Mysql?
Я хотел бы что-то вроде этого:
type count
no-60-gap 5
yes-60-island 1
no-60-gap 3
yes-60-island 2
У меня есть простой база данных баскетбольных игр. Грубый пример ниже
id, home, score_home, away, score_away, round
1, team_1, 33, team_2, 23, 1
2, team_4, 31, team_1, 33, 1
3, team_2, 36, team_5, 53, 2
4, team_5, 35, team_1, 63, 2
5, team_7, 31, team_8, 53, 3
6, team_2, 30, team_1, 43, 3
7, team_1, 39, team_3, 13, 4
был Google-ING из этой проблемы, и я в конечном итоге пытается решить мою проблему с пробелами и островами.
Это мое решение, но оно не работает. Идея заключалась только в том, чтобы сбросить разрыв/остров до 0, когда этого не произошло. Я добрый новый в этом.
SET @gap :=0; SET @island :=0;
SELECT
@gap,
@island
FROM (
SELECT
CASE
WHEN (score_home + score_away) >= 60 THEN @island:[email protected]+1
WHEN (score_home + score_away) >= 60 THEN @gap:=0
END,
CASE
WHEN (score_home + score_away) < 60 THEN @island:=0
WHEN (score_home + score_away) < 60 THEN @gap:[email protected]+1
END
FROM basket
) AS games
Цените помощь
Мог бы вы предоставить некоторый пример вывод, чтобы соответствовать вашему вкладу? –
@jeremytwfortune Все они нули. Не уверен, что мой подход хорош. – Marko321
Нет, не то, что генерирует ваш код. Предоставьте то, что вы хотите *. –