在开发过程中遇到了这种场景,有一张表,分别有a字段,b字段和c字段,我们要查询b字段内容相等和c字段内容也相等的a字段数据有多少个,也就是去交集。 表结构如下:
表名:testa varcharb varcharc varchar
SQL如下:
SELECT DISTINCT COUNT(*), b, cFROM testWHERE a IN(7)GROUP BY b, cHAVING COUNT(*) > 0
如果查询a为一个值的时候,如上SQL,
count(*)>0
,两个值的时候,
count(*)>1
以此类推。 这样就可以取交集了。