Plsql 如何在PL/SQL中删除每个月的重复项

Plsql 如何在PL/SQL中删除每个月的重复项,plsql,Plsql,我最近遇到一个月内出现重复值的问题。 我有一张桌子,上面有一种产品和不同的订户。 产品是基于订阅的,有时客户会在一个月内多次激活和停用产品,从而产生几行。 客户可能会在几个月内激活产品而不进行更改-因此,每个周期只有一行-开始日期。 在这种情况下,我每个客户每月只需要获得一行,MAX(开始日期)如图所示。如图所示。我曾尝试使用ROWNUM函数,但我不知道如何处理每月一行的情况 感谢您今后的建议,请提供您尝试过的示例数据和示例。试试这个: INSERT INTO targettable( cus

我最近遇到一个月内出现重复值的问题。
我有一张桌子,上面有一种产品和不同的订户。
产品是基于订阅的,有时客户会在一个月内多次激活和停用产品,从而产生几行。
客户可能会在几个月内激活产品而不进行更改-因此,每个周期只有一行-开始日期。

在这种情况下,我每个客户每月只需要获得一行,MAX(开始日期)如图所示。如图所示。我曾尝试使用ROWNUM函数,但我不知道如何处理每月一行的情况


感谢您今后的建议,请提供您尝试过的示例数据和示例。试试这个:

INSERT INTO targettable( customer_id
                       , subscription_product_id
                       , start_date )
      SELECT customer_id
           , subscription_product_id
           , MAX( start_date )
        FROM sourcetable
    GROUP BY customer_id
           , subscription_product_id
           , TRUNC( start_date, 'MM' )

您可以使用
ROWID


看看如何做到这一点

在您的图片中,我可以看到一个客户有两行。你想要两行还是一行?