筛选条件查询

一般咱们保存一个实体,这个实体可能有多个属性或者特征,好比咱们在使用搜索功能的时候,会有一些关键词或者特征,随着咱们选择的关键词越多,结果集会愈来愈少,假如存储的是这个一个简单模型(正常实际结构要比这个复杂不少,这里只是为了说明需求)sql

元素(item) 属性(attr)
1 a
2 a
3 a
1 b
2 b
1 c
3 c

我想查询同时拥有属性a b的元素
指望获得以下的结果it

item
1
2

能够使用having关键字
select item [table_name] where attr in (a,b) group by item having count(item) =2table

若是要查询同时拥有a b c 属性的元素
指望获得的结果是select

item
1

同理sql是
select item [table_name] where attr in (a,b,c) group by item having count(item) =3搜索

若是但愿查询至少拥有a b c三个属性中的两个
指望获得的结果是数据

item
1
2
3

sql以下
select item [table_name] where attr in (a,b,c) group by item having count(item) >=2查询

注: HAVING 子句能够让咱们筛选分组后的各组数据tab

相关文章
相关标签/搜索