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 :

Grouper selon des critères


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 31
    Points : 18
    Points
    18
    Par défaut Grouper selon des critères
    Bonjour,

    Je voudrais faire une requête SQL qui regroupe des modalités selon des critères.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    proc sql;
     
    create table cor.test1
    as
      select ex, FRVEH, anciennete, cact1, nbautreveh, nbauto
        from cor.actuariat_RA
    group by ex, FRVEH, anciennete, cact1, nbautreveh, nbauto;
     
    run;
    Cette procédure me classe mes variables mais ne les regroupe pas, je veux dire par là qu'il y'a des lignes identiques qui se repète.

    Pouvez-vous m'aider SVP ?

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    Pourquoi ne pas utiliser DISTINCT ?

    Tatayo

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    956
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 956
    Points : 1 199
    Points
    1 199
    Par défaut
    Bonjour,
    Je suis d'accord sur le principe d'utiliser le distinct suffit pour dédoublonner sans passer par un group by.
    Utiliser un group by sans fonction d'aggrégation, n'est pas des plus utiles.
    Néanmoins sa requête ne devrait pas renvoyer de doublons.

    Je suggère donc que tu nous donnes au moins le résultat que tu obtiens et celui que tu souhaites obtenir, si en plus on a le jeu de test c'est encore mieux.

    Je crois que tout le problème est dans ce que diflow69 veut dire dasn ligne identique qui se répète.

    PS: tu ne nous a pas préciser ton SGBD.
    Soazig

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 31
    Points : 18
    Points
    18
    Par défaut
    j'utilise SQL,

    Finalement j'ai trouvé la solution sans le distinct.

    J'ai crée une variable pour compter le nombre d'occurence par ligne et par la suite j'ai fait un group by pour classer et ainsi aucune ligne ne se répète.

  5. #5
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 803
    Points
    30 803
    Par défaut
    Citation Envoyé par diflow69 Voir le message
    j'utilise SQL,
    SQL est un langage.
    De nombreux SGBD contiennent SQL dans leur nom : SQL Server, MySQL, PostgreSQL, SQLite... pour ne citer que les plus répandus
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Citation Envoyé par diflow69 Voir le message
    j'utilise SQL,

    Finalement j'ai trouvé la solution sans le distinct.

    J'ai crée une variable pour compter le nombre d'occurence par ligne et par la suite j'ai fait un group by pour classer et ainsi aucune ligne ne se répète.
    En quoi DISTINCT pose problème, vu que son but est justement d'éliminer les doublons ?

    J'aimerai bien voir la solution, et comme le dit soazig un exemple qui pose problème, parce que j'avoue que je ne comprends pas tout, et surtout en quoi c'est plus simple de compter les doublons via une variable que d'ajouter un DISTINCT en début de requête...

    Tatayo.

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    956
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 956
    Points : 1 199
    Points
    1 199
    Par défaut
    Bonjour,
    par la suite j'ai fait un group by pour classer et ainsi aucune ligne ne se répète.
    Là je ne comprends pas.
    Un group by ne sert pas à classer,pour classer on peut éventuellement utiliser un order by.
    Un order by sert comme son nom l'indique à ordonner.

    J'ai l'impression que tu mélanges joyeusement un certain nombre de notions, et que du coup, on n'arrive pas à t'aider.

    A+
    Soazig

Discussions similaires

  1. [C#] Comment sélectionner un item de listview selon des critères
    Par beufreecasse dans le forum Windows Forms
    Réponses: 1
    Dernier message: 26/10/2006, 20h34
  2. Requetes selon des critères
    Par Z[ee]k dans le forum Access
    Réponses: 6
    Dernier message: 05/06/2006, 14h06
  3. tableau descriptif de SQL server selon des critères techniq
    Par h.sofia dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 16/02/2006, 16h25
  4. Supprimer des sous-dossiers selon des critères
    Par Dertron dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 18/01/2006, 14h33
  5. lister des fichiers selon des critères
    Par Corben dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 12
    Dernier message: 18/10/2005, 16h52

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