Ik denk dat dit de truc voor je zou moeten doen:
select
*
from
data t1
natural join
(
select
city,
state,
max(date) as date
from
data
group by
city,
state
) t2;