SQL从消息中选择聊天总数

时间:2017-07-22 16:36:03

标签: mysql sql

如何从消息表中选择聊天总数。 例如在我的表中我有这些cols: id(Auto Ic Primary Ky)/发件人/收件人/邮件/时间/日期 因为它们当然是用户之间的多个消息,例如可能是6行,其中发送者7和接收者说8,我需要将这样的每个重复结果限制为一个。 当前的sql代码:

SELECT *
FROM messages
WHERE sender = $u_id OR recipient = $u_id

1 个答案:

答案 0 :(得分:2)

一般来说,您应该通过提取一组唯一的发件人/收件人组合来处理这些情况,然后对其进行计数。像这样:

SELECT COUNT(1) as TotalChats
FROM (SELECT DISTINCT Sender, Recipient
      FROM Messages
      WHERE Sender = $u_id OR Recipient = $u_id) as M

编辑:...根据评论,你真的想要这个:

SELECT DISTINCT Recipient
FROM Messages
WHERE Sender = $u_id

但是你应该向你提问样本数据和预期结果 - 这样会更清楚。