Se vuoi semplicemente aggiornare la tua tabella con la priorità, sarebbe simile a:
update my_table x
set popularity = ( select count(distinct state)
from my_table
where fruit = x.fruit )
Se desideri selezionare i dati, puoi utilizzare una query analitica:
select state, fruit
, count(distinct state) over ( partition by fruit ) as popularity
from my_table
Questo fornisce il numero di stati distinti, per frutto.