gpt4 book ai didi

php - Cometchat,按发送日期说明订购

转载 作者:行者123 更新时间:2023-11-29 21:09:07 25 4
gpt4 key购买 nike

美好的一天,

我希望按上次发送日期(例如:1 天前、3 天前、8 天前等)对我的 cometchat 聊天进行排序,以用于我正在集成的私有(private)消息系统。

但是每次我运行命令时:

(select distinct(f.member_id) id, f.display_name username from    
cometchat m1, members f where (f.member_id = m1.from and m1.to = '1')
or (f.member_id = m1.to and m1.from = '1')) order by sent desc

这是从官方 cometchat 管理面板中获取的,我正确地显示了相关信息(但是它是无组织的。它通过成员表中的最后一个成员 ID 来组织自身。而不是来自 cometchat 的 ID。)这是示例: http://i.imgur.com/ZfqAerr.png

现在,如果我使用以下命令:

(select distinct(f.member_id) id,sent, f.display_name username from    
cometchat m1, members f where (f.member_id = m1.from and m1.to = '1')
or (f.member_id = m1.to and m1.from = '1')) order by sent desc

它确实输出了来自cometchat的“发送”次数,但它也取消了发送的所有消息的分组(因此就像一页一页地发送,而不是分组消息传递。)证明:http://i.imgur.com/dtJegw0.png

那么我必须采取哪些步骤才能使其按上次发送时间以分组格式准确显示两个表?

这是Cometchat表结构:i.imgur.com/s2Nf8xd.png

这是members表结构:i.imgur.com/mcq2Pyp.png

最佳答案

以下是我们建议解决此问题的 SQL:

select 
distinct(f.member_id) id,
f.display_name username,
max(sent) senttime
from cometchat m1, members f
where (f.member_id = m1.from and m1.to = '1')
or (f.member_id = m1.to and m1.from = '1')
group by f.member_id
order by sent desc

group_by 将来自或发送到特定成员的消息保存在一起。

关于php - Cometchat,按发送日期说明订购,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36560905/

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