If you are using sql server, you can do this:
declare @test table(Number int, Date datetime, WW int); INSERT INTO @test (Number, Date, WW) VALUES (392, '2012-07-22 17:00:00', 30), (439, '2012-07-23 17:00:00', 30), (735, '2012-07-24 17:00:00', 30), (882, '2012-07-25 17:00:00', 30), (193, '2012-07-29 17:00:00', 31), (412, '2012-07-30 17:00:00', 31), (425, '2012-07-31 17:00:00', 31), (748, '2012-08-01 17:00:00', 31), (711, '2012-08-05 17:00:00', 31), (757, '2012-08-06 17:00:00', 32), (113, '2012-08-07 17:00:00', 32), (444, '2012-08-14 17:00:00', 33) SELECT * FROM ( select number, date, ww, row_number() over (partition by ww order by date desc) rn from @test) v WHERE rn = 1;