篩選條件查詢

一般咱們保存一個實體,這個實體可能有多個屬性或者特徵,好比咱們在使用搜索功能的時候,會有一些關鍵詞或者特徵,隨着咱們選擇的關鍵詞越多,結果集會愈來愈少,假如存儲的是這個一個簡單模型(正常實際結構要比這個複雜不少,這裏只是爲了說明需求)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

相關文章
相關標籤/搜索