Je pense que cela devrait faire l'affaire pour vous :
select
*
from
data t1
natural join
(
select
city,
state,
max(date) as date
from
data
group by
city,
state
) t2;