>* 1 >SELECT * FROM mytable mt1 > WHERE StartDate = (SELECT MAX(StartDate) FROM mytable mt2 where mt2.fk = mt1.fk) > >* 2 >SELECT * FROM mytable mt1 > JOIN (SELECT fk, MAX(StartDate) AS MaxStartDate FROM mytable GROUP BY fk) dt1 > ON dt1.fk = mt1.fk AND dt1.MaxStartDate = mt1.StartDate > >* 3 >SELECT * FROM mytable mt1 > WHERE NOT EXISTS (SELECT 1 FROM mytable mt2 where mt2.fk = mt1.fk AND mt2.StartDate > mt1.StartDate) >>
>>ID|FK|Status|StartDate >>1|1|Started|1/1/2008 >>2|1|Finished|1/2/2008 >>3|2|Started|3/2/2008 >>4|3|Started|5/1/2008 >>5|3|Finished|5/4/2008 >>>>
>>FK|Status >>1|Finished >>2|Started >>3|Finished >>>>