вопрос
Приветствую, поставил модуль ENE PM , но проблема с sql запросом
Этим запросом он группирует контакты, но к сожалению по дате первого сообщения. Как исправить запрос, чтобы он группировал по дате последнего сообщения?
То есть ситуация, я пообщался с юзером 1. После этого общался еще с десятью. затем юзер 1 написал мне новое сообщение, но в списке переписок он будет 10м, а не первым.
Очень надеюсь на помощь.
$sql_getlastuser = $db->query("SELECT e.from_user_id, e.user_id as uid, u.user_id as userid, u.name, u.fullname, u.foto, u.lastdate FROM " . PREFIX . "_ene_pm as e, " . PREFIX . "_users as u WHERE (e.from_user_id=u.user_id AND e.user_id='{$member_id[user_id]}') OR (e.user_id=u.user_id AND e.from_user_id='{$member_id[user_id]}') GROUP BY userid ORDER BY `date` DESC LIMIT $select");
Этим запросом он группирует контакты, но к сожалению по дате первого сообщения. Как исправить запрос, чтобы он группировал по дате последнего сообщения?
То есть ситуация, я пообщался с юзером 1. После этого общался еще с десятью. затем юзер 1 написал мне новое сообщение, но в списке переписок он будет 10м, а не первым.
Очень надеюсь на помощь.
Все просто! Добавьте , max(e.date) maxdate в запрос и группируйте по maxdate
$sql_getlastuser = $db->query("SELECT e.from_user_id, e.user_id as uid, u.user_id as userid, u.name, u.fullname, u.foto, u.lastdate, max(e.date) maxdate FROM " . PREFIX . "_ene_pm as e, " . PREFIX . "_users as u WHERE (e.from_user_id=u.user_id AND e.user_id='{$member_id[user_id]}') OR (e.user_id=u.user_id AND e.from_user_id='{$member_id[user_id]}') GROUP BY userid ORDER BY maxdate DESC LIMIT $select");