MySQL WhatsApp聊天查询

时间:2016-04-24 00:17:36

标签: mysql chat messaging whatsapp

我正在尝试重新创建一个像whatsapp这样的会话列表,其中显示了与您进行对话的人的联系人姓名,以及邮件发布的时间以及最后一条消息,无论是来自您还是发布消息的联系人,换句话说,我需要始终查看联系人姓名和上次发送消息的时间以及我或收件人可能发送的最后一条消息,我还需要带回来的图像来自users表的其他用户。

USERS TABLE

 userid |  first_name  |       url          |
 ---------------------------------------------
  101   |    name1     | www.image_url1.jpg |
  102   |    name2     | www.image_url2.jpg |
  103   |    name3     | www.image_url3.jpg |
  104   |    name4     | www.image_url4.jpg |

消息表

MessageId  |  userid  | senderid | message  | timestamp |
-----------------------------------------------------------
    1      |    101   |    102   | message1 |  1234567  |
    2      |    102   |    101   | message2 |  1234578  |
    3      |    101   |    102   | message3 |  1235679  |
    4      |    103   |    101   | message4 |  1256379  |

如果我的userid = 101是来自我或联系人以及联系人userid,first_name和url

的最后一条消息和时间戳,我试图从数据库中查询
  userid  |  first_name |        url         |  message  |  timestamp |
 ---------------------------------------------------------------------
    102   |    name2    | www.image_url2.jpg |  message3 |   1235679  |
    104   |    name4    | www.image_url4.jpg |  message4 |   1227878  |
 ----------------------------------------------------------------------

1)我想从users表中提取联系人的userid,first_name和url 2)从联系人的消息表中提取最新的消息和时间戳

任何帮助都会很棒......

2 个答案:

答案 0 :(得分:0)

在查询末尾添加LIMIT 1,看看是否有帮助。

答案 1 :(得分:0)

您必须知道两个用户之间发送/接收的最后一条消息的ID,因此您可以获取它们之间最新消息的详细信息。您的查询没有表明,这应该在您的where子句中。