Rechercher : dans
Par :

MySQL - Problème avec GROUP BY et ORDER BY

Dernière réponse le 24 mar 2009 à 21:07:38 Minejan, le 24 mar 2009 à 20:18:36 
 Signaler ce message aux modérateurs

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 :-)

Meilleures réponses pour « MySQL Problème avec GROUP BY et ORDER BY » dans :
SQL - Tri VoirTri des résultats Il est possible en SQL d'organiser les résultats grâce à la clause ORDER BY. La clause ORDER BY est suivie des mots clés ASC ou DESC, qui précisent respectivement si le tri se fait de manière croissante (par défaut) ou...
Le moniteur ou écran d'ordinateur VoirIntroduction aux écrans d'ordinateur On appelle écran (ou moniteur) le périphérique d'affichage de l'ordinateur. On distingue habituellement deux familles d'écrans : Les écrans à tube cathodique (notés CRT pour Cathod Ray Tube), équipant la...

1

Popeye, le 24 mar 2009 à 20:35:55

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' .

Répondre à Popeye

2

 Minejan, le 24 mar 2009 à 21:07:38

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.

Répondre à Minejan