我有一个包含4个关键字段的表格。 A1(主键),A2,A3,A4。
我想在A4较低的A3中删除副本。
实施例。 A3值G258 - G258 A4值1000 - 1500
删除A3 = G258且A4为1000(更低)的记录
我该怎么做?
答案 0 :(得分:0)
delete t1
from some_table t1
join some_table t2
on t2.a3 = t1.a3
and t2.a4 > t1.a4;
演示:http://rextester.com/RERGD32491
这只会保留A4
每A3
个值最高的行。 A3
中具有相同值的两行在A4
中具有相同的最高值是可能的。由于你没有在这种情况下指定做什么 - 两行都将被保留。