2012-11-26 6 views
0

J'ai une requête ici, tout le monde peut m'aider à compter le nombre total de champs dupliqués?mysql champ de compte supplémentaire pour chaque ligne

SELECT * 
FROM item 
    INNER JOIN itemgroup on item.itemgroupid = itemgroup.itemgroupid  
    INNER JOIN status on status.statusid = item.status 
    INNER JOIN owner on owner.ownerid = item.owner 
    INNER JOIN 
    (
     SELECT code //, (SELECT count(*) FROM item WHERE ....) as 'total_duplicateds' 
     FROM item 
     GROUP BY code 
     HAVING count(code) > 1 
    ) dup ON item.code = dup.code 

articles Total: 500 articles au total avec des codes dupliqués: 149

Maintenant, je reçois un total de 149 champs retournés, comment puis-je ajouter cela comme un nouveau champ à chaque ligne? Après le slash est comment j'ai appris à le faire, mais c'est un peu plus haut niveau pour moi ..

Quelqu'un peut-il m'aider?

Pour être encore plus précis Ce que je voudrais faire est retourné comme:

itemid | code| itemname | itemgroup | owner | total_duplicateds 
    1  1000  X   1   1   3 
    2  1000  X   2   2   3 
    3  1001  A   1   1   3 
    4  1000  B   3   1   3 
    5  1002  U   2   1   3 
+0

pouvez-vous donner des exemples de dossiers? beaucoup mieux si vous l'avez posté sur [SQLFiddle.com] (http://www.sqlfiddle.com) –

Répondre

0

Ajouter COUNT agrégation et GROUP BY toutes les colonnes qui vous intéressant.

Questions connexes