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 :

group by + Substr


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 94
    Points : 53
    Points
    53
    Par défaut [resolu] group by + Substr
    Bonjour,

    J'ai une table A avec des Codes postaux et je voudrais connaitre le nombre d'occurence par département (les deux premiers caractères de champ Code postal)

    J'ai essayé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select substr(codepostal,0,2) , count(*) from TABLE_A group by 1;
    Oracle me renvoie


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ERROR at line 1:
    ORA-00979: not a GROUP BY expression

    C'est quoi la solution ?

    Fred

  2. #2
    Membre éprouvé Avatar de pinocchio
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2002
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2002
    Messages : 795
    Points : 960
    Points
    960
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select substr(codepostal,0,2) , count(*) from TABLE_A group by substr(codepostal,0,2);
    Le 1 n'est pas interprete dans le group by.
    La SNCF est mon ami
    blog PARIS-GRANVILLE
    Inscription au panel IPSOS (possibilité d'avoir des bons d'achats)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 434
    Points : 502
    Points
    502
    Par défaut
    SELECT LEFT(CODEPOSTAL,2), COUNT(*)
    FROM TABLE_A
    GROUP BY LEFT(CODEPOSTAL,2)

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 94
    Points : 53
    Points
    53
    Par défaut
    Super !

    C'est celle la
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select substr(codepostal,0,2) , count(*) from TABLE_A group by substr(codepostal,0,2);
    qui est la bonne

    Question suivante

    Malheureusement je viens de m'en rendre compte que les occurences au sein de mon champ code postal ne sont bas bien formatés
    ex: 1000 = 01000

    La requête ci-dessus ne sait pas grouper les '01' et les '1' ce qui est logique.

    Je suis intéressé par deux choses :
    1 - une requête qui 'comprenne' que '01' et '1' sont la même chose
    2 - une requête pour reformatter correcement mon champ

    merci

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 94
    Points : 53
    Points
    53
    Par défaut
    pour reformater j'ai trouvé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    update table_A set code_postal = concat('0',code_postal) where length(code_postal)=4;
    Donc c'est solutionner

    merci beaucoup

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

Discussions similaires

  1. [DB2 OS/390 7.1.1] SUBSTR dans un GROUP BY ?
    Par tux2005 dans le forum DB2
    Réponses: 5
    Dernier message: 28/02/2008, 14h04
  2. Fonction Substring avec group by
    Par zaki31 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 30/05/2007, 12h37
  3. SUBSTR() après un GROUP BY
    Par Infomax7 dans le forum Informix
    Réponses: 1
    Dernier message: 27/05/2006, 15h08
  4. Group by à partir d'un champ calculé || substr
    Par SegmentationFault dans le forum Bases de données
    Réponses: 4
    Dernier message: 30/07/2004, 15h55
  5. Réponses: 2
    Dernier message: 10/07/2002, 11h51

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