在Mysql中查找不在GROUP BY中的值

在Mysql中查找不在GROUP BY中的值,mysql,Mysql,我有一张类似于: id user_id value ---------------------------- 1 2 colour 2 2 receive_email 3 3 colour 4 3 receive_email 5 3 receive_info 我按用户id对该表进行分组。我只想返回不包含值“receive\u info”的组。因此,在上面

我有一张类似于:

id    user_id    value
----------------------------
1     2          colour
2     2          receive_email
3     3          colour
4     3          receive_email
5     3          receive_info
我按用户id对该表进行分组。我只想返回不包含值“receive\u info”的组。因此,在上面的例子中,我将返回一行,其中user_id=2

我尝试了一些东西,这是最新的:

SELECT id, user_id, value  
FROM table 
GROUP BY user_id 
HAVING value NOT IN('receive_info');
我也尝试过:

SELECT id, user_id, value  
FROM table 
WHERE value NOT IN('receive_info') 
GROUP BY user_id;
当我这样做时,我将为包含值='receive'的用户返回记录

有人知道我哪里出错了吗

谢谢

或者使用
左连接

SELECT  DISTINCT a.user_id
FROM    tableName a
        LEFT JOIN tableName b
            ON  a.user_id = b.user_id AND
                b.value = 'receive_info'
WHERE   b.user_id IS NULL
将输出两个查询

╔═════════╗
║ USER_ID ║
╠═════════╣
║       2 ║
╚═════════╝
╔═════════╗
║ USER_ID ║
╠═════════╣
║       2 ║
╚═════════╝