Requete SQL : double tri un peu complexe
4 messages
• Page 1 sur 1
- ndavoust
- Nouveau WRInaute

- Messages: 39
- Inscription: 28 Nov 2006
Requete SQL : double tri un peu complexe
Bonjour,
J'ai une table avec des commentaires d'utilisateurs, et j'aimerai restituer les commentaires tries par id decroissant (les derniers en premier), mais groupes par auteur (et c'est la que le bat blesse)
exemple si j'ai 4 commentaires (ici dans l'ordre d'ajout dans la base):
commentaire1 membre1
commentaire2 membre2
commentaire3 membre1
commentaire4 membre2
il me faut l'afficher suivant un thread par membre :
Membre2
Membre1
je n'arrive pas a trouver une solution évidente...
quelqu'un a déjà code quelquechose de similaire?
Merci pour toute aide ou commentaire!
J'ai une table avec des commentaires d'utilisateurs, et j'aimerai restituer les commentaires tries par id decroissant (les derniers en premier), mais groupes par auteur (et c'est la que le bat blesse)
exemple si j'ai 4 commentaires (ici dans l'ordre d'ajout dans la base):
commentaire1 membre1
commentaire2 membre2
commentaire3 membre1
commentaire4 membre2
il me faut l'afficher suivant un thread par membre :
Membre2
- commentaire4
- commentaire2
Membre1
- commentaire3
- commentaire1
je n'arrive pas a trouver une solution évidente...
quelqu'un a déjà code quelquechose de similaire?
Merci pour toute aide ou commentaire!
-

webmasterlamogere - WRInaute passionné

- Messages: 1874
- Inscription: 17 Déc 2006
en une requete ca me semble difficile car il faut récupérer le dernier message de chaque membre pour déterminer l'ordre des membres puis lister les messages de chaque membre.
une requete pour récupérer l'ordre des membres :
pour chaque membre de la requete précédente il faut lister les messages avec :
une requete pour récupérer l'ordre des membres :
- Code: Tout sélectionner
SELECT MAX( id ), membre FROM table_commentaire GROUP BY membre ORDER BY id DESC
pour chaque membre de la requete précédente il faut lister les messages avec :
- Code: Tout sélectionner
SELECT commentaire FROM table_commentaire WHERE membre = '$membre' ORDER BY id DESC
-

blman - WRInaute accro

- Messages: 3077
- Inscription: 5 Sep 2003
En une requete :
un truc dans ce genre là
(ou l'inverse, je sais plus). Rien de complexe la dedans
http://dev.mysql.com/doc/refman/5.0/fr/ ... ation.html
- Code: Tout sélectionner
ORDER BY membre_id DESC, commentaire_id DESC
un truc dans ce genre là
http://dev.mysql.com/doc/refman/5.0/fr/ ... ation.html
-

Sacha | Bankexam.fr - WRInaute discret

- Messages: 94
- Inscription: 18 Juin 2007
Exactement !
Tu fais :
SELECT membre_id, commentaire_id from table_commentaire ordre by membre_id desc, commentaire_id desc
Tu vas donc selectionner toutes les commentaires en table, triés par
Membre décroissant
-membre4
-membre3
-membre2
et commentaires décroissants :
-membre4 commentaire3
-membre4 commentaire2
-membre3 commentaire5
-membre3 commentaire1
etc...
Maintenant si en plus tu veux tes informations sur les membres en une seule requete.
SELECT table1.membre_informations, table2.commentaire_informations FROM table_membre table1 left join table_commentaires table2 on table1.id = table2.membre_id ORDER BY table2.membre_id DESC, table2.commentaire_id DESC
Tu fais :
SELECT membre_id, commentaire_id from table_commentaire ordre by membre_id desc, commentaire_id desc
Tu vas donc selectionner toutes les commentaires en table, triés par
Membre décroissant
-membre4
-membre3
-membre2
et commentaires décroissants :
-membre4 commentaire3
-membre4 commentaire2
-membre3 commentaire5
-membre3 commentaire1
etc...
Maintenant si en plus tu veux tes informations sur les membres en une seule requete.
SELECT table1.membre_informations, table2.commentaire_informations FROM table_membre table1 left join table_commentaires table2 on table1.id = table2.membre_id ORDER BY table2.membre_id DESC, table2.commentaire_id DESC
4 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Requête mysql : Tri complexe des commentaires par votes
- double tri sql [RESOLU]
- requête SQL complexe
- Requête SQL : tri particulier
- Requete sql complexe en php
- SQL : Casse-tête d'un tri sur une requête employant UNION ALL
- Comment simplifier une double requête SQL?
- Tri d'une requête
- [RESOLU] SQL tri multiple et aléatoire
- PB php/sql insert formulaire complexe
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
