SELECT group,MAX(date) as max_date
FROM table
WHERE checks>0
GROUP BY group
Isso funciona para obter a data máxima. Junte-a de volta aos seus dados para obter as outras colunas:
Select group,max_date,checks
from table t
inner join
(SELECT group,MAX(date) as max_date
FROM table
WHERE checks>0
GROUP BY group)a
on a.group = t.group and a.max_date = date
A junção interna funciona como o filtro para obter apenas o registro máximo.
FYI, seus nomes de coluna são horríveis, não use palavras reservadas para colunas (grupo, data, tabela).