MYSQL查询 - 获取与我所关注的用户不同的用户

时间:2016-11-01 09:57:48

标签: php mysql sql

我正在努力吸引那些我没有关注的用户,这与我不相同。

到目前为止,我有这个问题:

SELECT DISTINCT 
            u.id,
            u.username,
            u.profileImage,
            u.fullname,
            u.coverImage,
            u.bio,
            a.uuid,
            a.type
            FROM USERS u
            JOIN Activity a
            WHERE NOT u.id = 145
            AND a.id = 145
            AND type = 'follow'

145是当前用户。

我将以下内容存储在Activity表中,所以我不想让id = 145的行中的IdOtherUser等于用户。

当我跟随某人时,它会是这样的:

Id = 145(我)

IdOtherUser = 86(我关注的其他人,我不想从USERS表中获取。)

type ='关注'(行动类型)

我成功地让所有与我不相同的用户(145),但似乎无法让用户与我关注的用户相等!

非常感谢任何想法。

提前致谢

拨弄

I want to get the users that is not equal to 123(current user, and the people he is following user(145))

1 个答案:

答案 0 :(得分:1)

有多种方法可以达到预期的结果。它们都基于使用子查询来确定用户是否跟随给定用户。您可以将此子查询作为派生表(在... "esnext": true, "esversion": 6, ... 子句中),或在fromnot exists()运算符中。我将向您展示not in()运算符的示例,因为它不必从users表中提取数据,它只是检查您是否有与where条件对应的记录

not exists()