MySQL查询:如何筛选type为2或3且user_id不等于type=1对应的用户id
实现思路
- 第一步:先提取所有
type = 1对应的User_id,作为排除集合 - 第二步:筛选
type为2或3的User_id,过滤掉属于排除集合的id后去重,就是最终结果
实现SQL
SELECT DISTINCT User_id FROM table1 WHERE type IN (2, 3) AND User_id NOT IN ( SELECT User_id FROM table1 WHERE type = 1 );
样例运行结果
针对你提供的测试数据,上述SQL的返回结果为1,符合预期:
你给出的测试数据中type=1对应的User_id是2,type为2/3的User_id包括1和2,排除2后仅返回1。
内容的提问来源于stack exchange,提问作者aziz laroussi
相关产品推荐
相关产品推荐

