Compter les lignes identiques sur plusieurs colonnes sql php

bonjour,
j'aimerais avoir de l'aide.

je vous explique tout, nous devons afficher le temps et me nombre de produit qu'une personnes a pris pour les verifier ou les remplacer.
Pour cela ont a notre disposition des informations sur le nombre de produit et sont etat sur une ligne (hs, a verifier, manquant, remplacer, verifier, etc...) et il y a toujours une autre lignes l'information verif lorsqu'il valide le bon.

Donc se qui nous bloque est le fait de compter et regrouper le nombre de ligne etant identique sur 7 colonnes d'une table, la table regroupent 9 colonnes.

Merci d'avance

2 réponses

  1. Modérateur
    Bonjour,

    Pas très claires comme explications ...

    A minima, il faudrait nous montrer la structure de ta table et éventuellement quelques exemples de données qui s'y trouvent.
    Ensuite, il faudrait nous montrer quelle requête SQL tu as déjà essayé de faire ... et nous indiquer en quoi le résultat obtenu ne correspond pas à tes attentes.

    NB: Tu es sur un serveur SQLSERVER ou sur du MYSQL ?
    1
    1. Merci de ta réponse,
      pour plus de précision :

      je suis sur SQLserveur.

      voici la table avec quelques exemples de valeurs :



      il y a plusieurs Bon identiques, les uns avec VERIF et les autres avec B ou HS...

      voici la table suite à la requête :



      on souhaite compter le nombre de Bon identique et écrire le nombre de doublons sur une nouvelle colonne et récupérer la donné B ou HS... en enlevant les VERIF, si un bon n'a que 1 itération avec VERIF on lui associera B

      ce que je doit faire :



      voici ce que j'ai déjà fait :

      SELECT
      W_SO.PARTCHA.ACEMPLOYE,
      (COUNT(W_SO.PARTCHA.ACTYPF)) as nombreBon,
      W_SO.PARTCHA.ACTYPF,
      W_SO.PSAV2.SACOVI,
      (count(distinct W_SO.PCTVE_03.Ctvunique)) as test
      FROM W_SO.PCLIENT
      LEFT JOIN W_SO.PARTCHA
      ON W_SO.PCLIENT.CLNCLI=W_SO.PARTCHA.ACNCLI
      LEFT JOIN W_SO.PCTVE_03
      ON W_SO.PARTCHA.ACNCLI=W_SO.PCTVE_03.CTVCLI
      AND W_SO.PARTCHA.ACTYPF=W_SO.PCTVE_03.CTVACTI
      AND W_SO.PARTCHA.ACCCHA=W_SO.PCTVE_03.CTVDEVI
      AND W_SO.PARTCHA.ACNRAN=W_SO.PCTVE_03.ACNRAN
      LEFT JOIN W_SO.PCTVE_01
      ON W_SO.PCTVE_03.CTVUNIQUE=W_SO.PCTVE_01.CTVUNIQUE
      AND W_SO.PCTVE_03.CTVACTI=W_SO.PCTVE_01.CTVACTI
      LEFT JOIN W_SO.PSAV2
      ON W_SO.PCLIENT.CLNCLI=W_SO.PSAV2.SANCLI
      AND W_SO.PCTVE_01.CTVNUMSAV=W_SO.PSAV2.SANBON
      WHERE W_SO.PSAV2.SADTAPP > GETDATE()-365
      GROUP BY W_SO.PARTCHA.ACTYPF,
      W_SO.PARTCHA.ACEMPLOYE,
      W_SO.PSAV2.SACOVI
      ORDER BY W_SO.PARTCHA.ACEMPLOYE, W_SO.PSAV2.SACOVI

      la requête est globalement fonctionnelle sauf cette partie ligne 6 ( (count(distinct W_SO.PCTVE_03.Ctvunique)) as test)

      voici le résultat de la requête :



      Pour résumer, je dois compter le nombre de Bon double sur PCTVE_03 et les regroupés avec un nouvelle colonne qui affiche le nombre de doublons mais qui garde le paramètre B ou HS... en enlevant le VERIF dans le cas où il n'y a que VERIF le remplacer par B.
      0