Order by sur une date.
Résolu
Val_3990
Messages postés
21
Date d'inscription
Statut
Membre
Dernière intervention
-
jee pee Messages postés 41519 Date d'inscription Statut Modérateur Dernière intervention -
jee pee Messages postés 41519 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour, je suis entrain de réaliser un chat et j'aimerai faire une requête sur ma BDD contenant mes message qui retourne la liste des id utilisateurs avec le quelles l'utilisateur couramment connecter est en relation trier par la date d'ajout du dernier message (qu'il soit de l'utilisateur connecter ou non).
Voici ma requete avec les résultats:

Le tri est bien fait mais dans le sens inverse (l'utilisateur qui a envoyé un message a 17h31 est derrière les 2 autres qui en envoyé avant) alors que je voudrai que ça soit l'inverse et ce qui est gênant c'est que j'ai le même résultat avec ASC ou DESC.
Je précise par ailleurs que mon attribut date_add est de type DATETIME.
J'ai vue beaucoup de poste lié a ce problème mais aucun ne m'a permit de résoudre le miens.
Merci d'avance et bonne fin de journée.
Voici ma requete avec les résultats:

SELECT l.* FROM ps_private_message l INNER JOIN ( SELECT id_supplier, MAX(date_add) AS maxDate FROM ps_private_message GROUP BY id_supplier ORDER BY maxDate DESC) groupel ON l.id_supplier = groupel.id_supplier AND l.date_add = groupel.maxDate
Le tri est bien fait mais dans le sens inverse (l'utilisateur qui a envoyé un message a 17h31 est derrière les 2 autres qui en envoyé avant) alors que je voudrai que ça soit l'inverse et ce qui est gênant c'est que j'ai le même résultat avec ASC ou DESC.
Je précise par ailleurs que mon attribut date_add est de type DATETIME.
J'ai vue beaucoup de poste lié a ce problème mais aucun ne m'a permit de résoudre le miens.
Merci d'avance et bonne fin de journée.
A voir également:
- Order by sur une date.
- Publipostage date inversée ✓ - Forum Word
- Modifier une date sur un document - Forum PDF
- By click downloader avis - Forum Enregistrement / Traitement audio
- Whatsapp date incorrecte ✓ - Forum Mobile
- Airpods 3 date de sortie - Guide
1 réponse
Bonjour,
Trier sur un sous-select ne sert à rien, il faut mettre l'order by en dehors du select entre parenthèse, en fin de la requete, pour trier le resultat global de la requête
Trier sur un sous-select ne sert à rien, il faut mettre l'order by en dehors du select entre parenthèse, en fin de la requete, pour trier le resultat global de la requête
SELECT l.* FROM ps_private_message l INNER JOIN ( SELECT id_supplier, MAX(date_add) AS maxDate FROM ps_private_message GROUP BY id_supplier ) groupel ON l.id_supplier = groupel.id_supplier AND l.date_add = groupel.maxDate ORDER BY groupel.maxDate DESC