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 :

[MySQL] Question sur les GROUP BY


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 18
    Points : 12
    Points
    12
    Par défaut [MySQL] Question sur les GROUP BY
    Bonjour a tous, je vais essayer de vous expliquer le plus clairement possible mon probleme.


    Je voudrai s'avoir si il est possible de faire plusieur group by de suite.
    Dans le sens ou apres avoir fais un premier GROUP BY sur des données en fonction de quelque parametre.
    Récuperer ces données et refaire un GROUP BY en fonction d'autre parametre.

    Ma premier requete crée les groupes en rouge.
    Et je souhaiterai que ma deuxieme requete crée les groupe en vert.
    ( ou la meme requete ).


    [ edit ]
    exemple avec une table:
    Adresse ( Nom_personne, Ville, Rue, Numero ).
    Regrouper tout les nom_personne par ville.
    Puis tous les regrouper par rue.
    Pourquoi par ville ? certain nom de rue son identique entre les villes.
    Les requete actuel:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT Nom_personne, Ville
    FROM Adresse
    GROUP BY ( Ville )
     
    SELECT Nom_personne, rue
    FROM Adresse
    GROUP BY ( Rue )

    [ /edit ]
    Avent de posser sa question:

  2. #2
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    C'est possible en utilisant des sous requetes.

    du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SELECT
       sum(x), colonne1 
    FROM 
       (SELECT 
          COUNT(colonne2) AS x, colonne AS colonne1 
        FROM 
          MaTable
        GROUP BY colonne)
    GROUP BY colonne1
    J'espere que ca repond un peu a ta question
    Bon courage
    Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 18
    Points : 12
    Points
    12
    Par défaut
    hum..
    Meme réponse a chaque fois:

    "Every derived table must have its own alias"
    J'ai meme essayer avec ce que tu ma donné pas mieu

    ( si sa peu aider réponse de mysql )
    Avent de posser sa question:

  4. #4
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    un group by dans une requete sans fonction d'agregation (sum, max, min, count,...) n'a aucun interet .

    Tu pourrais me donner un exemple de ce que tu voudrais avoir comme résultat ?
    Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 18
    Points : 12
    Points
    12
    Par défaut
    J aurai bien des fonctions d'agregations

    En reprenant ma table : Adresse ( Nom_personne, Ville, Rue, Numero ).

    Compter le nombre de personne abittant:
    ville1 rue1.
    ville1 rue2
    ...
    ...
    villeX rueX
    Et les noms des personnes.

    Je m y prend peut etre mal ceci dit
    (des noms de rue peut etre identique entre les villes)

    En gros: Regrouper les personnes par villes puis par rue puis par numero de rue, et les compter.
    Avent de posser sa question:

  6. #6
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    pour avoir la rue, la ville, le nombre de personne habitant cette rue de cette ville et les noms des personnes, tu peux essayer cette requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    
    SELECT
    a.rue, a.ville, b.nombre,a.nom_personne
    FROM
    adresse a,
    (SELECT
    count(*)as nombre, ville, rue
    FROM
    adresse GROUP BY ville,rue) b
    WHERE a.RUE=b.rue AND a.ville=b.ville
    J'espere que ca peut t'aider
    Bon courage
    Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)

Discussions similaires

  1. [MySQL] Question sur les Variables dans une requête php-Mysql
    Par rvtoulon dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 23/02/2012, 12h06
  2. Question sur les index mysql
    Par Cyrius dans le forum Requêtes
    Réponses: 4
    Dernier message: 08/08/2006, 22h25
  3. question sur les variables globales et les thread posix
    Par souris_sonic dans le forum POSIX
    Réponses: 5
    Dernier message: 13/06/2003, 13h59
  4. Question sur les handles et les couleurs...
    Par MrDuChnok dans le forum C++Builder
    Réponses: 7
    Dernier message: 29/10/2002, 08h45
  5. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 16h11

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