[英]Cometchat, order by sent date desc
美好的一天,
我希望在最后發送日期(例如:1天前,3天前,8天前等)之前訂購我的cometchat聊天記錄,以進行我正在集成的私人消息傳遞系統。
但是每次我運行命令:
(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管理面板上獲取的,我正確地顯示了有問題的信息(但是它是無組織的。它是根據members表中的最后一個成員ID進行組織的。而不是來自cometchat。)例如: 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
這是成員表的結構: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
使從特定成員發送或到特定成員的消息保持在一起。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.