delete t1
from some_table t1
join some_table t2
on t2.a3 = t1.a3
and t2.a4 > t1.a4;
デモ: https://rextester.com/RERGD32491
これにより、A4で最も高い値の行のみが保持されます A3ごと 。 A3に同じ値の2つの行がある可能性があります A4で同じ最高値を持つ 。その場合の処理を指定しなかったため、両方の行が保持されます。
delete t1
from some_table t1
join some_table t2
on t2.a3 = t1.a3
and t2.a4 > t1.a4;
デモ: https://rextester.com/RERGD32491
これにより、A4で最も高い値の行のみが保持されます A3ごと 。 A3に同じ値の2つの行がある可能性があります A4で同じ最高値を持つ 。その場合の処理を指定しなかったため、両方の行が保持されます。