Penso che questo dovrebbe fare al caso tuo:
select
*
from
data t1
natural join
(
select
city,
state,
max(date) as date
from
data
group by
city,
state
) t2;