gpt4 book ai didi

mysql - 如何从每个用户那里获取最后一行?

转载 作者:太空宇宙 更新时间:2023-11-03 10:42:48 24 4
gpt4 key购买 nike

我正在制作一个类似于 facebook 消息部分的消息系统。我想在其中显示用户和他的 friend 之间的对话列表。我的聊天表的字段是

id,user1(varchar),user2(varchar),message,created_at(timestamp),updated_at(timestamp)

要检索我正在使用查询的特定对话

SELECT message FROM chat WHERE user1 IN ('"+user1+"','"+user2+"') AND user2 IN ('"+user1+"','"+user2+"')

但现在我无法检索消息的最新(最近插入)行、其他用户(接收我们消息的用户)和发送时间。这将由列表显示(就像 facebook 对话列表)。这意味着我想要一份来自聊天 table 上每个用户的最新消息(一条)的列表。或者如果我正在和你聊天,我想在消息中收到你的名字。


我想出了一个查询,我希望您看到它不是我正在寻找的最终答案,但它非常接近它。

SELECT sent_at,message,user1,user2 FROM (SELECT max(created_at) AS 
sent_at,message,user1,user2 FROM chats WHERE user1='Tiffany' OR
user2='Tiffany' Group By user1, user2 Having max(created_at)) tb1

返回用户'Tiffany'进行的最后一次对话,表示tiffany发送和接收的最新消息。现在我想获取蒂芙尼接收或发送的最新对话。

最佳答案

SELECT message FROM chat WHERE user1 IN ('"+user1+"','"+user2+"') AND user2 IN ('"+user1+"','"+user2+"') order by message desc limit 1;

关于mysql - 如何从每个用户那里获取最后一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35626566/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com