GROUP BY répété
Fermé
jujucool
-
25 mai 2009 à 09:14
Giorgiolino Messages postés 253 Date d'inscription vendredi 15 mai 2009 Statut Contributeur Dernière intervention 2 mars 2015 - 25 mai 2009 à 16:47
Giorgiolino Messages postés 253 Date d'inscription vendredi 15 mai 2009 Statut Contributeur Dernière intervention 2 mars 2015 - 25 mai 2009 à 16:47
A voir également:
- GROUP BY répété
- Home by me - Télécharger - 3D
- Zen by deezer - Télécharger - Santé & Bien-être
- Gd group prélèvement - Forum Vos droits sur internet
- Moa by bva avis ✓ - Forum Vos droits sur internet
- The hut group colis - Forum Jeux vidéo
3 réponses
Giorgiolino
Messages postés
253
Date d'inscription
vendredi 15 mai 2009
Statut
Contributeur
Dernière intervention
2 mars 2015
52
25 mai 2009 à 14:05
25 mai 2009 à 14:05
Malheureusement la chose n'est pas possible en MySQL, pour une raison simple:
une requête sql te renvoie un tableau de résultats qui comporte lui-même des lignes de résultat répondant à ta requête. Or pour obtenir des résultats sous la forme que tu demandes, il faudrait avoir des lignes (celle de participant3 par exemple) où il n'y aurait pas de titre, ce qui n'est pas possible.
Soit dit en passant, ta requête
SELECT titre, participant
FROM table GROUP_BY titre
ne te renverra d'ailleurs pas le résultat que tu exposes mais plutôt quelque chose comme ceci
titre1 | participant1
titre2 | participant1
parce qu'un GROUP BY ne s'utilise que lorsqu'il y a un opérateur arithmétique dans ta requête comme ici :
SELECT nom_magasin, SUM(chiffre_affaire)
FROM liste_magasins
GROUP BY nom_magasin
Pour info, si tu veux obtenir
titre1 | participant1
titre1 | participant2
titre1 | participant3
titre2 | participant1
un simple SELECT titre, participant FROM table suffit.
Bon codage.
une requête sql te renvoie un tableau de résultats qui comporte lui-même des lignes de résultat répondant à ta requête. Or pour obtenir des résultats sous la forme que tu demandes, il faudrait avoir des lignes (celle de participant3 par exemple) où il n'y aurait pas de titre, ce qui n'est pas possible.
Soit dit en passant, ta requête
SELECT titre, participant
FROM table GROUP_BY titre
ne te renverra d'ailleurs pas le résultat que tu exposes mais plutôt quelque chose comme ceci
titre1 | participant1
titre2 | participant1
parce qu'un GROUP BY ne s'utilise que lorsqu'il y a un opérateur arithmétique dans ta requête comme ici :
SELECT nom_magasin, SUM(chiffre_affaire)
FROM liste_magasins
GROUP BY nom_magasin
Pour info, si tu veux obtenir
titre1 | participant1
titre1 | participant2
titre1 | participant3
titre2 | participant1
un simple SELECT titre, participant FROM table suffit.
Bon codage.
Merci pour ta réponse :)
Oui je me suis plantée dans la requête c'est vrai :s
Sinon je trouve vraiment dommage que l'on ne puisse pas faire une telle chose (malgré que ça parait logique quand tu l'expliques)
Je vais me rabattre sur PHP et essayer de me coder une fonction qui me fasse ça
Merci encore et bonne après midi
Oui je me suis plantée dans la requête c'est vrai :s
Sinon je trouve vraiment dommage que l'on ne puisse pas faire une telle chose (malgré que ça parait logique quand tu l'expliques)
Je vais me rabattre sur PHP et essayer de me coder une fonction qui me fasse ça
Merci encore et bonne après midi
Giorgiolino
Messages postés
253
Date d'inscription
vendredi 15 mai 2009
Statut
Contributeur
Dernière intervention
2 mars 2015
52
25 mai 2009 à 16:47
25 mai 2009 à 16:47
Pas de quoi.
Effectivement c'est dommage de ne pas pouvoir régler ça directement en MySQL mais c'est tout à fait logique comme je l'ai dit précédemment. MySQL ne te fournit que les données, or ce que tu demandes traite plutôt de la mise en forme. Tu devrais pouvoir trouver ton bonheur avec du PHP/MySQL/xHTML.
En tout cas n'hésite pas à t'adresser à un forum spécialisé si t'as des problèmes au niveau programmation, tu auras sans doute de meilleures chances d'obtenir des réponses.
Par exemple ici --> https://forum.phpfrance.com/
Bon codage.
Effectivement c'est dommage de ne pas pouvoir régler ça directement en MySQL mais c'est tout à fait logique comme je l'ai dit précédemment. MySQL ne te fournit que les données, or ce que tu demandes traite plutôt de la mise en forme. Tu devrais pouvoir trouver ton bonheur avec du PHP/MySQL/xHTML.
En tout cas n'hésite pas à t'adresser à un forum spécialisé si t'as des problèmes au niveau programmation, tu auras sans doute de meilleures chances d'obtenir des réponses.
Par exemple ici --> https://forum.phpfrance.com/
Bon codage.