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 :

Requête DISTINCT comment faire?


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Homme Profil pro
    Médecin Département d'Information Médicale (DIM)
    Inscrit en
    Janvier 2009
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Médecin Département d'Information Médicale (DIM)
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2009
    Messages : 115
    Points : 60
    Points
    60
    Par défaut Requête DISTINCT comment faire?
    Bonjour

    je voudrais requêter sur une Table ayant la structure simplifiée suivante:

    NUMERO
    CODE
    DATE_ENTREE
    DATE_SORTIE
    ORDRE
    LOCALISATION

    En pratique pour un NUMERO donné il peut y avoir un ou plusieurs enregistrements avec pour chacun une chronologie entrée/sortie et une localisation; ORDRE indique le Rang chronologique de 1 à n pour chaque NUMERO; CODE indique le Type de ma donnée (elle peut être identique avec des NUMEROS différents)

    Exemple: NUMERO "x" a pour Localisation "A" du 01.01 au 10.01; puis Localisation "B" du 10.01 au 15.01 pour un CODE "Z" qui est le même pour chacun des enregistrements pour le NUMERO "x"

    Donc dans l'Exemple ci-dessus j'ai 2 lignes; mais je peux aussi bien en avoir de 1 à n pour un NUMERO donné comme cela:

    NUMERO CODE DATE_ENTREE DATE_SORTIE ORDRE LOCALISATION
    1 x 01.01.2015 10.01.2015 1 A
    1 x 10.01.2015 12.01.2015 2 B
    2 x 01.03.2015 03.03.2015 1 N
    3 y 01.03.2015 14.03.2015 1 X
    3 y 14.03.2015 15.03.2015 2 B
    3 y 15.03.2015 19.03.2015 3 A



    Ce que je veux dans ma requête c'est compter le Nombre de CODES distincts en Groupant par CODE sans multiplier ce COMPTE par le nombre de lignes; cela devrait correspondre à un DISTINCT qui je crois n'est pas géré par ACCESS

    Dans l'exmple ci-dessus je voudrais avoir le Nombre DISTINCT de CODES x, de y etc

    Pour les x je voudrais avoir 2; pour les y, 1 car j'ai 2 NUMEROS (1 & 2) qui ont CODE = x et 1 NUMERO (3) qui a CODE = y

    mais si je fais un COUNT, il me compte 3 x et 3 y

    Peut-être que la solution passe ici par une condition sur le Numéro ORDRE? mais je sèche...

    Merci

  2. #2
    Membre éclairé
    Avatar de Didier L
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2004
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 503
    Points : 806
    Points
    806
    Par défaut
    Bonjour,

    Il te faut passer par une requête imbriquée.
    Count compte le nombre de ligne avec un Group By et "Distinct" géré avec Access permet de ne pas afficher deux lignes identiques.
    Donc au choix soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Select Code, Count(Numero) as Nbr
    (Select Code,Numero from MaTable
    Group By Code,Numero) As Base
    Group By Code
    Soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Select Code, Count(Numero) as Nbr
    (Select Distinct Code,Numero from MaTable) As Base
    Group By Code
    "MaTable" représentant le nom de ta table
    @+


    Pensez au tag

Discussions similaires

  1. Requête particulière, comment faire ?
    Par Sanceray3 dans le forum Requêtes
    Réponses: 4
    Dernier message: 28/10/2010, 11h16
  2. Requête inversée comment faire?
    Par rjcab dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 28/11/2008, 01h47
  3. [MySQL] Requête Mysql comment faire ?
    Par gerlougir dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 27/05/2007, 11h29
  4. Requêtes web: comment faire ?
    Par requin01 dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 21/05/2006, 20h08
  5. Requête SQL complexe. Comment faire ....
    Par BilTCD dans le forum Langage SQL
    Réponses: 4
    Dernier message: 05/11/2004, 16h18

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