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

Requêtes et SQL. Discussion :

compter le nombre d'enregistrements différents


Sujet :

Requêtes et SQL.

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    525
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Août 2005
    Messages : 525
    Points : 194
    Points
    194
    Par défaut compter le nombre d'enregistrements différents
    Bonjour

    Dans une requete, je veux compter le nombre d'enregistrements différents:

    Exemple: dans la colonne

    ID_patient

    12
    12
    15
    16
    16
    18
    19
    19
    19

    si je compte dois me retourner 5 et non le nombre de lignes
    J'ai essayé avec SELECT DISTINCT mais ça ne marche pas.
    Merci d'avance

  2. #2
    Membre confirmé Avatar de getz85
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2008
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2008
    Messages : 423
    Points : 462
    Points
    462
    Par défaut
    Pourquoi ça ne marche pas? quelle est l'erreur qui est retournée? tu peux mettre la requête en entier?

  3. #3
    Membre averti Avatar de Shivaneth
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 349
    Points : 341
    Points
    341
    Par défaut
    Bonjour,

    essaye ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT COUNT(DISTINCT(ID_PATIENT)) FROM TA_TABLE

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Est-ce que c'est ce type de requête dont tu as besoin

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT [Id_patient], Count([Id_patient]) AS CptePatient
    FROM LaTable
    GROUP BY [Id_patient];

    Starec

  5. #5
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    salut tout le monde,
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    select count(*) from (select ID_patient from LaTable group by ID_patient)

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    525
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Août 2005
    Messages : 525
    Points : 194
    Points
    194
    Par défaut
    Merci pour vos réponses rapides
    Ma requête est un peu lourde

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SELECT IIf([produit]="Plavix" Or [Produit]="Plavix 75","Plavix","Autres") AS Antiplaquettaire, 
    IIf([cec] Is Not Null,"CEC",IIf([coeur_battant]=True,"Coeur battant","Autres")) AS [type intervention],
     Avg(T_Réanimation.[Drains H24 (ml)]) AS [Drains H24], Avg(T_Réanimation.[Drains H48 (ml)]) AS [Drains H48],
     Count(DCount("[ID_patient]","T_Patient")) AS [Nombre patients]
    FROM (T_Patient INNER JOIN (T_intervention INNER JOIN T_Réanimation ON T_intervention.ID_Intervention = T_Réanimation.ID_Intervention) ON T_Patient.ID_Patient = T_intervention.ID_Patient) INNER JOIN T_Medicament ON T_intervention.ID_Intervention = T_Medicament.ID_intervention
    WHERE (((T_intervention.Date_intervention)>#12/31/2007#))
    GROUP BY IIf([produit]="Plavix" Or [Produit]="Plavix 75","Plavix","Autres"),
     IIf([cec] Is Not Null,"CEC",IIf([coeur_battant]=True,"Coeur battant","Autres"))
    HAVING (((IIf([produit]="Plavix" Or [Produit]="Plavix 75","Plavix","Autres")) Not Like ""));
    Comment ecrire ce code pour que ne compter que les ID_patient différents
    Merci si vous pouvez m'aider

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    525
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Août 2005
    Messages : 525
    Points : 194
    Points
    194
    Par défaut
    A priori l'agregat Count (distinct) n'est pas prevu dans le moteur access (cf http://news.speeple.com/msdn.com/200...-in-access.htm.
    Il faut faire une sous requête mais là ... Je cherche.

  8. #8
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    SELECT count(*) FROM (SELECT t1.ID_patient
    FROM
     
    (
    SELECT IIf([produit]="Plavix" Or [Produit]="Plavix 75","Plavix","Autres") AS Antiplaquettaire, 
    IIf([cec] Is Not Null,"CEC",IIf([coeur_battant]=True,"Coeur battant","Autres")) AS [type intervention],
     Avg(T_Réanimation.[Drains H24 (ml)]) AS [Drains H24], Avg(T_Réanimation.[Drains H48 (ml)]) AS [Drains H48],
     Count(DCount("[ID_patient]","T_Patient")) AS [Nombre patients]
    FROM (T_Patient INNER JOIN (T_intervention INNER JOIN T_Réanimation ON T_intervention.ID_Intervention = T_Réanimation.ID_Intervention) ON T_Patient.ID_Patient = T_intervention.ID_Patient) INNER JOIN T_Medicament ON T_intervention.ID_Intervention = T_Medicament.ID_intervention
    WHERE (((T_intervention.Date_intervention)>#12/31/2007#))
    GROUP BY IIf([produit]="Plavix" Or [Produit]="Plavix 75","Plavix","Autres"),
     IIf([cec] Is Not Null,"CEC",IIf([coeur_battant]=True,"Coeur battant","Autres"))
    HAVING (((IIf([produit]="Plavix" Or [Produit]="Plavix 75","Plavix","Autres")) Not Like ""))
    ) t1
     
    GROUP BY t1.ID_patient)
    voici mon sql, en incluant ta requete.

Discussions similaires

  1. Réponses: 10
    Dernier message: 20/07/2012, 08h48
  2. compter le nombre d'enregistrement sur différents critères
    Par altair8080 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 25/05/2010, 09h41
  3. Compter le nombre d'enregistrement
    Par poussinphp dans le forum Bases de données
    Réponses: 1
    Dernier message: 23/09/2005, 13h35
  4. URGENT - Nombre d'enregistrements différents dans une table
    Par Jeankiki dans le forum Bases de données
    Réponses: 6
    Dernier message: 11/08/2004, 15h51
  5. [SQL][ACCESS]Compter le nombres d'enregistrement dans deux..
    Par pc152 dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 05/06/2004, 12h30

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