Je veux sélectionner les 10 derniers messages que vous avez reçus OU que vous avez envoyés à différents utilisateurs.Demande de sélectionner les 10 derniers messages envoyés/reçus à/par différents utilisateurs
Par exemple, les résultats doivent être affichés comme ça:
1. John1 - last message received 04/17/10 3:12
2. Thomy - last message sent 04/16/10 1:26
3. Pamela - last message received 04/12/10 3:51
4. Freddy - last message received 03/28/10 9:00
5. Jack - last message sent 03/20/10 4:53
6. Tom - last message received 02/01/10 7:41
.....
Table ressemble:
CREATE TABLE `messages` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`sender` int(11) DEFAULT NULL,
`receiver` int(11) DEFAULT NULL,
`content` text
)
Je pense que Facebook (et l'iPhone) utilise cette solution. Lorsque vous allez dans votre boîte aux lettres, vous avez les derniers messages reçus/envoyés groupés par les utilisateurs (amis).
Je vais donc prendre un exemple. Si j'ai des messages de thèses (ILS SONT ENCORE ORDONNÉES):
**Mike**
**Tom**
**Pam**
Mike
Mike
**John**
John
Pam
**Steve**
**Bobby**
Steve
Steve
Bobby
seul message avec **** doit être retourné, car ils sont les messages que je DERNIERS envoyés/reçus par l'utilisateur.
En fait, je veux le dernier message de CHAQUE discussion.
Quelle est la solution?
Votre requête est bonne, mais il est pas vraiment ce que je vouloir. Je vous ai expliqué ci-dessous. –
Pas mal. Mais qu'en est-il de la solution que j'ai proposée ci-dessous? –
Ok Max votre requête est meilleure que la mienne. Cela fonctionne correctement. Je viens d'utiliser ID au lieu de l'heure car il est plus rapide de commander avec ID que TIME et vous pouvez envoyer un message en même temps –