我遇到了一个问题,我正在使用Oracle SQL进行类似这样的工作。Oracle SQL - 比较行
表
PurchaseID CustID Location
----1------------1-----------A
----2------------1-----------A
----3------------2-----------A
----4------------2-----------B
----5------------2-----------A
----6------------3-----------B
----7------------3-----------B
我感兴趣的查询表,返回在同一顾客在不同地点购买的所有实例。因此,对于上面的表,我会想:
输出
PurchaseID CustID Location
----3------------2-----------A
----4------------2-----------B
----5------------2-----------A
如何做到这一点任何想法?我一直没有想到如何去做,而且我的大部分想法看起来都很笨拙。我使用的数据库有1MM +记录,所以我不希望它运行得太慢。
任何帮助,将不胜感激。谢谢!
有多少个不同的位置,有多少个不同的客户? –
这个问题是我在工作中真正做的一个简化版本,但是在真实数据库中,我在这里调用Location的变量有5个不同的值(也有一些为空),并且有大约500,000个不同的“客户“。 – user1895076
然后,在性能方面可能是最好的构造所有五组不同位置并相交。 –