MySQL - Problème avec GROUP BY et ORDER BY

Fermé
Minejan - 24 mars 2009 à 20:18
 Minejan - 24 mars 2009 à 21:07
Bonjour,

J'ai un petit souci avec une requête MySQL qui ne retourne pas les enregistrements comme je le souhaiterai c'est à dire trié par date décroissante (de la plus récente à la plus ancienne donc).

Voici la requête en question:

SELECT a.id,a.cat,a.auth,a.topic,a.date,a.topic_lock,a.top,a.view,b.id AS id2,b.login
FROM forums_msg AS a INNER JOIN members AS b ON a.auth=b.id WHERE
a.cat='8' GROUP BY a.reply ORDER BY a.top,a.date DESC LIMIT 1,20;


En fait les 20 enregistrements sont retournés par ordre de date décroissante, jusque là pas de souci.

Le problème est donc que le GROUP BY de a.reply ne retenant qu'un enregistrement restant ne veut pas être trié par date décroissante.

Je fais donc appel à vos connaissances pour savoir comment procéder à un tri décroissant d'une table dans un GROUP BY.

Merci d'avance :-)
A voir également:

2 réponses

L'enregistrement restant n'a sans doute pas le même 'a.reply' que les autres enregistrements?
Si c'est le cas : supprime le 'groupe by a.reply' .
0
Si je retire GROUP BY a.reply je me retrouve avec toutes les réponses données à un sujet du forum sans qu'elles ne soient regroupées dans une seule entrée à l'affichage.

En fait a.reply contient l'id du sujet principal lorsque quelqu'un poste une réponse à un sujet.

Le problème dans ce cas-ci c'est que quand je fais GROUP BY a.reply le sujet repris par celui-ci n'est pas rangé par date décroissante, il faudrait donc que le dernier sujet repris soit le plus récent.
0