declare @t table (name varchar(10),type int,date date, valu int)
insert into @t(name,type,date,valu)values ('Emilia',1,'2010-11-02',10)
insert into @t(name,type,date,valu)values ('Emilia',0,'2015-03-11',10)
insert into @t(name,type,date,valu)values ('Emilia',1,'2015-11-11',19)
insert into @t(name,type,date,valu)values ('Eva',0,'2006-02-12',10)
insert into @t(name,type,date,valu)values ('Eva',1,'2014-02-01',20)
SELECT a.*
FROM @t a
INNER JOIN (SELECT type,MAX(date) AS LatestDate FROM @t GROUP BY type)b
ON a.type = b.type
AND a.date=b.LatestDate
source
share