postgresql同一个表求不同条件的交集?

数据库是postgresql。表table分别有A,B,C,D几个区间的条件数据,
1、求A-B的交集?
2、求A-C的交集,且不在B区间内的?
3、求A-D交集,且不在B-C内的?

当前使用查询语句: select a.name from (select distinct name from table where A) as a join (select distinct name from table where B) as b on a.name = b.name

数据量大约6000W左右,目前是使用子查询然后Join的方式查询。但是查询时间比较长,是否有其他更好的方案?

====实际业务=====
一张订单表,查询某个日期前30天或60天(一个周期)有订单的用户。
需求1、并且在30-60天(前一个周期)有订单
需求2、在30-60天(前一个周期)无订单,在60-90有订单(前2个周期)


慕无忌1623718
浏览 1300回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP