Se ho capito cosa vuoi, devi solo fare un distinto nel tuo COUNT .
Puoi provare questo :
SELECT mid ,
COUNT(distinct pid) as countmid ,
SUM(nwgh) as totalnwgh
FROM test
GROUP BY mid
Prova questo sqlfiddle se vuoi:http://sqlfiddle.com/#!9/45e68/ 2