如何分组SQL结果

use*_*758 5 mysql sql

我在数据库中有以下数据

MAILFROM, MAILTO , TIMESTAMP, MESSAGE
A B   2013-07-01 12:11:12, Hi
B A   2013-07-01 12:12:12, Hi back
A B   2013-07-01 12:13:12, How are you
A C   2013-07-01 12:14:12, Hi there
D A   2013-07-01 12:16:12, Hi
C D   2013-07-01 12:17:12, Hi
Run Code Online (Sandbox Code Playgroud)

如何将其与select组合,以便我得到

AC'评论发生3次

SELECT MAILFROM, MAILTO FROM messages WHERE 'A' IN(FROM,TO) GROUP BY FROM
Run Code Online (Sandbox Code Playgroud)

AC和CA但我希望组合在一起.

它只显示AC 3次

该示例是一个邮箱.

这包含:

MAILFROM, MAILTO , TIMESTAMP, MESSAGE
A B   2013-07-01 12:11:12, Hi
B A   2013-07-01 12:12:12, Hi back
A B   2013-07-01 12:13:12, How are you
A C   2013-07-01 12:14:12, Hi there
D A   2013-07-01 12:16:12, Hi
C D   2013-07-01 12:17:12, Hi
Run Code Online (Sandbox Code Playgroud)

SQL列表应该列出这个(唯一的对话)

B   2013-07-01 12:13:12, "Hi"  ' Remark Timestap of the latest message
C   2013-07-01 12:14:12, "Hi there"
D   2013-07-01 12:16:12, "Hi"
C D   2013-07-01 12:17:12, "Hi" ' THIS SHOULD NOT BE SHOWN
Run Code Online (Sandbox Code Playgroud)

这意味着这个sql将列出他作为发送者和接收者(从,到)的消息.它应该只列在这个人和发送给谁的人之间,无论谁是MAILFROM或MAILTO.时间戳是他们之间最新消息的日期...备注他永远不会发送到D,无论如何都列出了一个,但是他发送但没有得到任何东西...... B之间是3条消息.所以输出应该只有这3行..

小智 0

我制作了另一个表,其中包含字段 from1 和 to1

SELECT from1, to1 FROM messages
WHERE (from1 LIKE 'A' AND to1 LIKE 'C') OR (from1 LIKE 'C' AND to1 LIKE 'A')
Run Code Online (Sandbox Code Playgroud)

输出

A C
C A
A C
Run Code Online (Sandbox Code Playgroud)