详细问题是我的下一个问题 - 请查看以下链接
答案 0 :(得分:0)
这应该是一个两步过程。首先确定要删除的记录,然后在第二步中删除这些记录。我认为,您无法从正在提取的同一个表中删除记录,这就是为什么有两个步骤。
第1步:
Select Concat(A.ClientId, A.PhoneNumber, A.Timestamp) from MyTable A
Where Concat(A.ClientId, A.PhoneNumber, A.Timestamp)
Not IN (Select Concat(B.ClientId, B.PhoneNumber, Min(B.Timestamp))
from MyTable B
Group by B.ClientId, B.PhoneNumber);
第2步:
Delete from MyTable
Where Concat(A.ClientId, A.PhoneNumber, A.Timestamp) IN (all the values you got from Step1);
您可以运行步骤1,创建数据集以获取所有值并在步骤2中使用该数据集。如果您运行动态,则会执行剪切粘贴,否则您必须使用SORT修改数据集从中创建一个查询。这将是步骤1和2中间的另一个步骤。