This is one way: DECLARE @T TABLE (code INT, [year] int, week int, [value] DECIMAL(6, 4), effectivedate DATETIME)INSERT @TSELECT 454584, 2007, 5, 5.9700, '2007-03-01 00:00:00.000'UNION SELECT 454584, 2007, 2, 6.5800, '2007-02-08 00:00:00.000'UNION SELECT 454584, 2007, 20, 5.2800, '2007-06-14 00:00:00.000'UNION SELECT 454584, 2007, 6, 5.9700, '2007-03-04 00:00:00.000'UNION SELECT 454584, 2007, 8, 5.9700, '2007-03-23 00:00:00.000'UNION SELECT 454584, 2006, 24, 6.5800, '2006-07-09 00:00:00.000'UNION SELECT 454584, 2006, 23, 6.5800, '2006-07-07 00:00:00.000'UNION SELECT 454584, 2007, 9, 6.5800, '2007-03-25 00:00:00.000'UNION SELECT 454584, 2007, 5, 6.5800, '2007-02-27 00:00:00.000'UNION SELECT 454584, 2006, 20, 5.2300, '2006-06-13 00:00:00.000'UNION SELECT 454584, 2006, 21, 5.2300, '2006-06-18 00:00:00.000'UNION SELECT 454584, 2006, 8, 6.5800, '2006-03-20 00:00:00.000'UNION SELECT 454585, 2006, 16, 3.5000, '2006-05-19 00:00:00.000'UNION SELECT 454585, 2006, 20, 3.5000, '2006-06-15 00:00:00.000'UNION SELECT 454585, 2006, 14, 3.5000, '2006-05-05 00:00:00.000'UNION SELECT 454585, 2006, 8, 3.3300, '2006-03-20 00:00:00.000'UNION SELECT 454585, 2006, 8, 3.3300, '2006-03-20 00:00:00.000'SELECT *FROM @T tWHERE (SELECT COUNT(1) FROM @T t1 WHERE t1.code = t.code AND t1.effectivedate >= t.effectivedate) = 1
-Ryan