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 :

Grouper les résultats d'un recordset


Sujet :

Requêtes et SQL.

  1. #1
    Membre habitué Avatar de wil4linux
    Inscrit en
    Février 2005
    Messages
    205
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2005
    Messages : 205
    Points : 174
    Points
    174
    Par défaut Grouper les résultats d'un recordset
    Bonjour,
    j'effectue une requête assez complexe (avec union all...) qui me ramène une colonne d'entiers non triés et non groupés.

    Moi je souhaite par la suite travailler sur ce recordset et récupérer les éléments une seule fois (je ne veux pas compter les valeurs qui sont en doublons).
    Par ex, si une même valeur apparaît 3 fois, je la compte qu'une fois.

    Au final je veux récupérer le total d'enregistrement aparaissant au moins 1 fois.

    Comment faire ?

    Quelqu'un a t il un petit algo sympa pour faire mon regroupement.

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonjour

    Je ne suis pas un spécialiste des requêtes mais il me semble que les prédicats DISTINCT (pour un champ) et DISTINCTROW (pour les enregistrements) permettent de filtrer directement les doublons.


    michel

  3. #3
    Membre habitué Avatar de wil4linux
    Inscrit en
    Février 2005
    Messages
    205
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2005
    Messages : 205
    Points : 174
    Points
    174
    Par défaut
    Oui ok je vien de regarder. Ca ne correspond pas car ma 1ere requete est un UNION ALL entre 3 SELECT et je récupere des données qui vont être par ex:

    Code : 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
    17
    -- resultats de la 1ere union
    10
    13
    13
    15
    17
    --- resultats de la 2eme union
    12
    13
    23
    23
    23
    25
    -- resultats de la 3eme union
    8
    20
    23
    Meme si je fais un distinct ou un order, ma liste de resultat finale n'a pas dégagé les doublons et le pb de tri.

    C'est pour cela que je travail sur le recordset.
    Alors j'ai bien reussi à enlever les doublons.

    Je dois récuprérer un autre résultat: compter le nb de resultat qui aparaissent au moins une fois. je ne compte pas les doubles d'un resultat.

    En gros je doisf aire un distonct global, mais je ne peux pas faire ca en une seule requete car tu peu pas intégré des union ds des sous requetes.
    J'ai meme essayer le fait d'utiliser une vue (sous access ca n existe pas donc...) puis cette vue serai paramétré par des valeurs, pour ensuite travailllé desus et faire un DISTINCT de tout ca.

    je me galère bien...

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    select sum(mavaleur) as total from
    (select distinct mavaleur from
    (SELECT mavaleur
    FROM matable
    union all
    SELECT mavaleur
    FROM matable2) as primaire) as secondaire;
    Elle est pas belle la vie ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Grouper les résultats par entreprise
    Par scude dans le forum Linq
    Réponses: 0
    Dernier message: 01/02/2013, 17h41
  2. Trier/Grouper les résultats d'une requête.
    Par cristal8811 dans le forum Requêtes
    Réponses: 2
    Dernier message: 20/01/2011, 23h43
  3. [SQL] Grouper les résultats par heures
    Par Fused dans le forum Langage SQL
    Réponses: 1
    Dernier message: 02/09/2009, 17h35
  4. Grouper les résultats
    Par BZH75 dans le forum Langage SQL
    Réponses: 12
    Dernier message: 13/08/2009, 13h21
  5. Grouper les résultats d'une table et les récupérer ?
    Par jimmu.teno dans le forum Langage SQL
    Réponses: 3
    Dernier message: 20/04/2007, 11h22

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