J'ai une requête MySQL J'ai un problème dans le tri du dernier message de l'expéditeur voici ma requête ci-dessous:requête Mysql tri sur les tables jointes
SELECT
`Mes`.`fromid`,
`Mes`.`is_read`,
`Mes`.`id` AS `mesid`,
`Mes`.`message`,
max(Mes.date) AS `date`,
`User`.`username`,
`User`.`MemberID` AS `Uid`
FROM `messages` AS `Mes`
INNER JOIN `users` AS `User` ON User.MemberID = Mes.fromid
WHERE (Mes.toid = 5 AND Mes.fromid <> 5)
GROUP BY `Mes`.`fromid`
ORDER BY `date` DESC
ici est ma table de la base de données: tableau des utilisateurs
MemberID UserName Email Password
1 User1 [email protected] 123456
2 User2 [email protected] 123456
3 User3 [email protected] 123456
4 User4 [email protected] 123456
5 User5 [email protected] 123456
Messages tableau:
id fromid toid message is_read date
1 5 2 hello test 1 1 2012-08-24 01:00:00
2 2 5 hello test 2 1 2012-08-24 02:00:00
3 3 5 hello test 3 1 2012-08-24 03:00:00
4 4 5 hello test 4 1 2012-08-24 04:00:00
5 2 5 hello test 5 1 2012-08-25 05:00:00
et ouput de ma requête:
SELECT
`Mes`.`fromid`,
`Mes`.`is_read`,
`Mes`.`id` AS `mesid`,
`Mes`.`message`,
max(Mes.date) AS `date`,
`User`.`username`,
`User`.`MemberID` AS `Uid`
FROM `messages` AS `Mes`
INNER JOIN `users` AS `User` ON User.MemberID = Mes.fromid
WHERE (Mes.toid = 5 AND Mes.fromid <> 5)
GROUP BY `Mes`.`fromid`
ORDER BY `date` DESC
est:
USERNAME MESSAGE DATE
user2 hello test 2 2012-08-25 05:00:00
user4 hello test 4 2012-08-25 04:00:00
user4 hello test 3 2012-08-25 03:00:00
Si vous avez remarqué Tri de la date est bonne, mais le dernier message est pas juste. Je veux ma sortie comme ça.
USERNAME MESSAGE DATE
user2 hello test 5 2012-08-25 05:00:00
user4 hello test 4 2012-08-25 04:00:00
user4 hello test 3 2012-08-25 03:00:00
au lieu du message "bonjour test 2" Je veux trier le dernier message qui est "test bonjour 5"
Tout le monde peut aider mon problème?
Merci beaucoup ...
vous pourriez vouloir considérer ces mots de passe dans hachant la table des utilisateurs – hdgarrood