I have this data:
ID NAME DATE 3 JOHN 2011-08-08 2 YOKO 2010-07-07 1 JOHN 2009-06-06
Code (for SQL Server 2005):
SELECT FROM SourceTable st INNER JOIN (SELECT name, MAX(Datefield) as Datefield FROM SourceTable GROUP BY name) x ON x.Name = st.name AND x.datefield = st.datefield