Spulciando in un sitino ho trovato la soluzionie, no il database non e' progettato male ho trovato quello che mi serve con una query di questo tipo:

SELECT campo2, count(distinct(campo1)) from tabella group by campo2

e come risultato mi da

800 - 2
1000 - 2
2000 - 1

ora pero' mi e' sorto il nuovo problema, l'ORDER, non posso fare un order by count(distinct(campo1)), sapresti aiutarmi? se io voglio mettere la visualizzazione in qst. modo

2000 - 1
800 - 2
1000 - 2