Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Selecione informações da tabela onde a linha tem data máxima

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).