Cometchat, заказ по дате отправки

Добрый день,

Я хочу заказать комет-чаты по дате последней отправки (например, 1 день назад, 3 дня назад, 8 дней назад и т. Д.) Для системы личных сообщений, которую я работаю над интеграцией.

Однако каждый раз, когда я запускаю команду:

(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

Который взят из официальной админ-панели кометча, я правильно отображаю интересующую информацию (однако она неорганизована. Она организуется по последнему идентификатору участника из таблицы членов. Вместо этого из кометы.) Это пример: 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

Он выводит «отправленные» времена из кометча, но также разгруппирует все отправленные сообщения (так что это как страница за страницей, а не групповые сообщения). Доказательство: http://i.imgur.com/dtJegw0.png

Итак, какие шаги я должен предпринять, чтобы сделать так, чтобы он точно отображал обе таблицы в сгруппированном формате по времени последней отправки?

Это Cometchat структура таблицы: i.imgur.com/s2Nf8xd.png

Это члены структура таблицы: i.imgur.com/mcq2Pyp.png

0

Решение

Вот 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 хранит сообщения, отправленные от или к определенному участнику вместе.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector