我正在建立一个用户可以与其他用户联系的平台(社交平台)
我有一个名为朋友的表,我正在保存这样的连接
user_id | friend_id | request | add_date
现在我需要编写一个 sql 查询来获取特定用户的朋友添加的最新朋友,他们是否已经是用户的朋友。用户也必须被接受。
将其视为新闻提要,我将查看我的朋友最近添加了谁(最近添加的新人可以是我的朋友,也可以不是我的朋友)
到目前为止,我有这个,但只有当我的朋友添加我已经有的人时才有效。
SELECT user_main_id AS frmname, friend_id AS type_id, add_date AS date
FROM friends
WHERE friend_id
IN
(SELECT friend_id
FROM friends WHERE (friend_id='$user_id' OR user_main_id='$user_id')
AND request=1 AND friend_id!=$user_id)
AND request=1 AND friend_id!=$user_id AND user_main_id!=$user_id
ORDER BY date DESC
也许有更好的理由来解决这个问题。
建议?非常感谢感谢。连接是双边的,user_id 和friend_id 没有区别。是用这些名字设计的,必须发扬光大。
样本记录
96618 50683 1 2013-05-08 13:44:31
96618 1230 1 2013-04-03 18:28:51
11671 96618 1 2013-04-03 13:26:51
11671 1230 1 2013-03-23 18:26:08
一旦 96618 与 50683 发生连接。例如,用户 11671 会收到一条消息,说您的朋友 96618 现在是 50683 的朋友