Page 1 sur 1

Tri sql requête

Posté : 21 août 2015, 11:45
par Bisvan
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 ?

Re: Tri sql requête

Posté : 21 août 2015, 12:22
par or 1
je ferais cela en php, en parcourant plusieurs fois le tableau issu d'une requete sql simple.

Re: Tri sql requête

Posté : 21 août 2015, 12:55
par Bisvan
ne penses tu pas qu'une requête en sql serait mieux niveau "temps de traitement" plutôt que plusieurs while() ?

Re: Tri sql requête

Posté : 21 août 2015, 15:02
par yann18
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 ;

Re: Tri sql requête

Posté : 25 août 2015, 12:53
par Bisvan
Super merci bcp je vais tester :)