在R中等效的SQL Server中使用CTE删除重复的行

时间:2019-03-04 08:36:34

标签: r sql-server common-table-expression

我有一个具有以下结构的数据框:

CustomerName    Phone_num    LastVisitDate    City
abcd            999999       2018-12-19       A   
pqrs            934830       2018-12-30       B
hjsk            923231       2018-11-15       A
qwer            738921       2018-10-22       D 
abcd            999999       2018-10-02       A

在上面的示例中,客户'abcd'在12月19日和10月2日访问了两次。我在SQL Server中使用CTE来保留最新访问并删除较旧的访问详细信息,我的查询是:

with cte as (
select ROW_NUMBER() over (partition by Phone_num ORDER BY LastVisitDate DESC) 
rno, * from march_call_list_bkp
) 
delete from cte where rno > 1

输出为:

CustomerName    Phone_num    LastVisitDate    City
abcd            999999       2018-12-19       A   
pqrs            934830       2018-12-30       B
hjsk            923231       2018-11-15       A
qwer            738921       2018-10-22       D 

上表由8个excel文件合并而成。我使用R进行合并。合并后,我使用RODBC和sqlSave将数据帧传输到SQL Server,然后使用CTE执行删除操作。 有人可以让我知道我是否可以在R本身中执行上述操作吗?

0 个答案:

没有答案