SELECT rows.team, rows.date FROM (
SELECT team, date,
IF( @prev <> team, @rownum := 1, @rownum := @rownum+1 ) AS rownum,
@prev := team
FROM my_table
JOIN (SELECT @rownum := NULL, @prev := 0) AS init
ORDER BY team, date DESC
) AS rows
WHERE rownum <= 10
Мы создаем временную (виртуальную) таблицу в подзапросе со строками, упорядоченными командой, датой DESC и начинаем сверху, давая каждой строке порядковый номер строки, и при каждом изменении команды мы сбрасываем номер строки, затем в внешний запрос мы отфильтровываем любую строку с номером строки больше 10.