Il s'agit simplement d'une agrégation conditionnelle :
select pn, sum(loc = 'a') as a, sum(loc = 'b') as b
from table1
group by pn;
Si vous avez une liste inconnue de loc
valeurs, vous aurez peut-être besoin d'une requête dynamique. Google "Pivot dynamique MySQL".