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

SQL Procédural MySQL Discussion :

requète GROUP BY CONCAT


Sujet :

SQL Procédural MySQL

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

    Informations forums :
    Inscription : Juillet 2003
    Messages : 5
    Points : 6
    Points
    6
    Par défaut requète GROUP BY CONCAT
    Boujour à tous,
    j'ai une petite question sur une requete sql (Mysql 5.1)

    Valeurs dans ma table :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    mysql> select * from log;
    +----+-----+
    | id | val |
    +----+-----+
    |  1 |   1 |
    |  1 |   2 |
    |  1 |   3 |
    |  2 |  10 |
    |  2 |  11 |
    |  2 |  13 |
    +----+-----+
    6 rows in set (0.00 sec)
    je souhaiterais obtenir pour chaque id la liste des valeurs du champ val sur une ligne de resultat avec les valeurs concaténées.
    soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    +----+-----+
    | id | val |
    +----+-----+
    |  1 |   1,2,3 |
    |  2 |  10,11,13 |
    +----+-----+
    je pense que la solution est dans GROUP BY + CONCAT ou peut etre un select imbriqué... mais je n'arrive pas à obtenir ce resultat.

    Merci d'avance pour vos futur réponses.

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 739
    Points
    11 739
    Par défaut
    Citation Envoyé par the_nul
    je pense que la solution est dans GROUP BY + CONCAT
    En fait, c'est un GROUP BY + GROUP_CONCAT, une fonction qui (à ma connaissance) n'existe qu'en MySQL. Cela donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT id, GROUP_CONCAT(val)
    FROM Log
    GROUP BY id
    Je te renvoie à la doc pour les options de GROUP_CONCAT, qui sont DISTINCT, ORDER BY et SEPARATOR.

    --
    Antoun

    Guide complet MySQL 5, par Antoine Dinimant, éd. MicroApplication
    http://www.microapp.com/livre_mysql_7873.html

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

    Informations forums :
    Inscription : Juillet 2003
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    ha super merci

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 08/09/2006, 13h35
  2. [Req] Explication sur requête Group By
    Par benazerty dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 01/09/2006, 18h52
  3. Réponses: 3
    Dernier message: 16/08/2006, 17h05
  4. traiter les groupes retourné par la requête GROUP BY
    Par mgemc2 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 16/08/2006, 14h16
  5. Aide sur une requête (Group By...??)
    Par Cocolapin dans le forum Langage SQL
    Réponses: 4
    Dernier message: 12/12/2004, 11h26

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