J'ai un système de messagerie simple, dont les messages doivent maintenant être regroupés par sujet. Donc, la table ressemble à:Groupe SQL par colonnes
id | sender | recipient | subject
------------------------------------
1 | 16 | 17 | Hello
2 | 17 | 16 | Hello
3 | 12 | 16 | Hello
"expéditeur" et "destinataire" sont des identifiants d'une table d'utilisateurs. Ainsi, l'utilisateur doit voir les messages groupés par sujet, ce qui est facile, éventuellement par GROUP BY.
Le problème est que les messages sont groupés, qu'ils ont le même sujet mais d'autres expéditeurs et destinataires. Est-il possible de grouper les messages seulement si l'expéditeur et le destinataire sont les mêmes? Dans l'exemple, les messages 1 et 2 doivent être groupés, mais pas 3. J'ai donc besoin de regrouper sur 2 colonnes.
a) ce que vous avez essayé ?; b) Je pense que l'aide d'une chaîne sujet et sur le regroupement qui est vouée à l'échec - Pensez-y - de nombreux sujets peuvent être identiques Vous devez utiliser un nombre entier et attribuer un nouveau nombre à chaque nouveau fil – user3741598
J'ai essayé de grouper les messages, mais les messagas avec le même sujet mais les autres participants ont été regroupés. Mais maintenant j'utilise une autre solution: j'ai créé une table parent "conversations", les messages sont assignés à une conversation, ce qui rend la manipulation du système de messagerie plus facile – user3817440