[RESOLU] Tri sql requête

Eléphant du PHP | 136 Messages

21 août 2015, 11:45

Bonjour,


Je me heurte à un problème de tri dans une requête SQL avec php en provenance d'une BDD MYSQL.

J'ai une table "objet" avec un champ ID, REF, VALEUR
ID est unique et auto-increment

Exemple avec les 5 premiers résultats
ID-REF-VALEUR
1-ref1-01
2-ref1-02
3-ref1-00
4-ref2-01
5-ref2-02
6-ref3-01
7-ref3-01

Il peut donc y avoir plusieurs ligne de résultats pour une même REF.

Voici ce que j'aimerais pouvoir afficher :
1/ ref2 - Valeurs = 01, 02
2/ ref3 - Valeurs = 01

Soit une ligne par référence unique ainsi que les valeurs pour chaque ligne de résultat.
Et ne pas afficher les références unique qui ont dans un de leurs résultats une valeur=00

Avec un SELECT distinct je me heurte à un soucis de prise en compte d'une seule ligne par référence...

Une idée pour m'aider dans ce problème de tri ?
Bisvan :)

Mammouth du PHP | 2703 Messages

21 août 2015, 12:22

je ferais cela en php, en parcourant plusieurs fois le tableau issu d'une requete sql simple.

Eléphant du PHP | 136 Messages

21 août 2015, 12:55

ne penses tu pas qu'une requête en sql serait mieux niveau "temps de traitement" plutôt que plusieurs while() ?
Bisvan :)

Mammouth du PHP | 571 Messages

21 août 2015, 15:02

Bonjour,
avec un regroupement par référence :

Code : Tout sélectionner

SELECT ref, GROUP_CONCAT(valeur) AS valeurs FROM objet WHERE valeur!='00' GROUP BY ref ;

Eléphant du PHP | 136 Messages

25 août 2015, 12:53

Super merci bcp je vais tester :)
Bisvan :)