IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Comptage suivant un critère


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 77
    Points : 68
    Points
    68
    Par défaut Comptage suivant un critère
    Bonjour,

    J'aimerais faire un comptage suivant un critère en fonction de ces éléments :

    6 variables :

    ID : identifiant unique du dossier
    DATETD : date de l'étude du dossier
    MOIS : Mois correspondant a DATETD
    DATMAJETD : date de mise à jour de l'étude
    ETAT : Codification de l'état du dossier
    MAG : identifiant unique du lieu d'affectation du dossier

    A chaque fois qu'un dossier est créé ou qu'il est modifié, une ligne supplémentaire apparait, avec le même ID, la même DATETD, le même MAG mais avec une DATMAJETD et/ou un ETAT qui se modifie (sachant qu'il peut y avoir des trous dans la raquette sur ces 2 derniers points et que le vrai critère différenciant est le changement de modalité à "I" pour le champ ETAT)

    J'aurais besoin de pouvoir donner le nombre de dossiers qui sont passés par un statut ETAT='I' sur l'ensemble des dossiers (select count(distinct ID)) mais en ne comptant, pour un même dossier et une même DATETD, un seul passage ETAT='I' (car un même ID peut avoir plusieurs lignes avec un ETAT='I' si il ya plusieurs mise à jour du dossier sans modification de ce statut)

    Le but, au final, est d'avoir une table, donnant par MAG et par MOIS, le nombre total de ID créé (une sorte de rapport générationnel) et le nombre de dossier étant passé au moins une fois avec un ETAT égal à "I"
    Soit donc 4 champs en sortie :

    MAG
    MOIS
    NB_ID
    NB_I

    Pourriez-vous m'aider car je pêche à trouver comment faire ?

    Merci d'avance.

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Bonjour,

    Vous allez devoir utiliser un GROUP BY et surtout une structure CASE WHEN dans votre requête de sélection afin de gérer correctement le comptage des ID dont ETAT vaut 'I' (ID_I si j'ai bien compris)

    Pour le comptage de NB_ID il faudra utiliser un count(distinct ID).

    Essayez de faire les deux requêtes séparément dans un premier temps puis regroupez les.

    Si vous n'y arrivez pas revenez avec vos essais et on fixera ça.

Discussions similaires

  1. Réponses: 12
    Dernier message: 13/08/2008, 17h04
  2. [SQL] Comptage suivant valeur
    Par jeronimo83 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/07/2008, 14h44
  3. Réponses: 4
    Dernier message: 15/04/2008, 18h06
  4. Calcul de moyenne suivant certains critères
    Par Djohn dans le forum Excel
    Réponses: 5
    Dernier message: 17/10/2007, 21h44
  5. [VTemplate] Choix suivant des critères comme le support Php5, code Xhtml compliant ?
    Par El Riiico dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 05/12/2005, 10h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo