我有下表,其中用户有0个或更多请求。每个请求都有一种类型。
id
user_id
type
我想要做的是让只有一个请求的用户,并且请求的类型为" 402"。 例如,如果用户有一个" 402"和一个" 403",我不想选择他。
我已经尝试了
SELECT * FROM table GROUP BY type HAVING COUNT(type) = 1 AND type = "402"
但它没有用(我从有多个请求的用户那里得到了结果,但只有一个" 402",就像我上面的例子一样)。
任何猜测? ;)
答案 0 :(得分:2)
试试这个:
SELECT * FROM table where type = '402'
GROUP BY type HAVING COUNT(type) = 1
答案 1 :(得分:0)
你可以这样做
select t1.* from table t1 where t1.type = '402'
and not exists(
select 1 from table t2
where t2.user_id = t1.user_id
and t2.type <> '402'
)