我有一个由3列组成的表格。
user_id,certificate_type,approved
每个user_id可以有多行,每行的certificate_type介于1和30之间。
我要做的是用一组不同的证书类型搜索表,并生成一个与组合匹配的所有user_id的列表。如果行已批准=1,我只想要一个结果。
我可以想出非常复杂的方法来进行多个搜索,但我怀疑在SQL中有一个简单的查询,因为我不相信我正在尝试做的是非常不寻常的!
按user_id
分组,并仅选择那些具有您定义的certificate_type
的用户(我随机选择了4个)
select user_id
from your_table
where certificate_type in (1,3,7,22)
and approved = 1
group by user_id
having count(certificate_type) = 4