Мне уже удалось заставить это работать, но мне нужна помощь по улучшению запроса и оптимизации его для получения большего количества параметров.
Запрос вычислит самую длинную серию для победы и поражения в игре и до сих порМне удалось заставить это работать, выбирая выигрыш и проигрыш как отдельный запрос.Но я хотел бы получить их обоих сразу.Как я могу заставить это работать, основываясь на этом запросе (этот рассчитает самую длинную серию побед):
SELECT MIN( c.ID ) - a.ID + 1 as Streak
FROM games AS a
LEFT JOIN games AS b ON a.ID = b.id + 1 AND b.P1Outcome= 'win'
LEFT JOIN games AS c ON a.ID <= c.id AND c.P1Outcome= 'win'
LEFT JOIN games AS d ON c.ID = d.id - 1 AND d.P1Outcome= 'win'
WHERE
a.UsrID = x
AND a.P1Outcome= 'win'
AND b.ID IS NULL
AND c.ID IS NOT NULL
AND d.ID IS NULL
GROUP BY a.ID
ORDER BY Streak
ID = Первичный ключ в каждой игре
P1Outcome =исход пользователей в игре
UsrID = идентификатор пользователя
Прежде всего, могут ли быть какие-либо улучшения, и если это возможно, можно ли одновременно получить полосу проигрышей?Спасибо за ваше время.