簡體   English   中英

Cometchat,按發送日期順序排序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM