Si entiendo lo que quieres, solo tienes que hacer un distinto en tu COUNT .
Puedes probar esto:
SELECT mid ,
COUNT(distinct pid) as countmid ,
SUM(nwgh) as totalnwgh
FROM test
GROUP BY mid
Prueba este sqlfiddle si quieres:http://sqlfiddle.com/#!9/45e68/ 2