MySQL - trying to combine `GROUP_CONCAT` with `COUNT()`
You've already found your answer, but here are the reasons:

The reason you're getting duplicates is because you're joining tab1 with itself without criteria on the join, which is simply resulting in duplicates. The query can be pretty easily accomplished without the join, looking like this:

SELECT A.team, A.name, GROUP_CONCAT(A.count SEPARATOR ' , ')
FROM
   (SELECT team, name, CONCAT(item, '(', count(item), ')') AS count     
    FROM tab1
    GROUP BY team, name, item) A
GROUP BY A.team, A.name;