Я полагаю, что вы что-то напутали.
Сначала вы должны создать, если у вас ее еще нет, таблицу сессий, чтобы получить метки времени зарегистрированных пользователей.Вы должны создать таблицу «друзей», чтобы соединить 2 разных пользователей - это дружба - чтобы показать только своего друга, который недавно вошел в систему.
Итак, пользователь выполняет вход в систему, и вы вставляете его в сеанс.таблица идентификатора пользователя.Когда вам нужно показать свою «панель» с последним другом, который недавно вошел в систему, вы должны сделать запрос из 2 таблиц: дружба и сессия, что-то вроде этого:
session (session_id, uid, lastTimeLogged)
where lasTimeLogged is a Timestamp column
friendship (uid, uid_friend)
uid_friend будет uid(пользователь) идентификатор друга (1 - друг 2, 1 - друг 3 и т. д.).
Чтобы получить недавно зарегистрированных "друзей"
SELECT uid_friend FROM friendship
INNER JOIN session
ON friendshio.uid_friend = session.uid
AND lastTimeLogged < DATE_SUB(CURRENT_TIMESTAMP, 30 MINUTE)
WHERE uid = logged_user_id
Это должно получитьпоследние зарегистрированные друзья за последние 30 минут.Это всего лишь пример того, как это должно работать.Я тоже не проверял код SQL.Надеюсь, что это поможет вам!
РЕДАКТИРОВАТЬ - получить последние 10 посетителей за последний месяц
SELECT uid_friend FROM friendship
INNER JOIN session
ON friendshio.uid_friend = session.uid
AND lastTimeLogged < DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 1 MONTH)
WHERE uid = logged_user_id
ORDER BY lastTimeLogged DESC
Это поможет.Примечание: код не был проверен!