Php 如何删除重复的行并保留值较高的行?

Php 如何删除重复的行并保留值较高的行?,php,mysql,Php,Mysql,我有一个包含4个关键字段的表。A1(主键),A2,A3,A4 我想删除A3中A4较低的副本 前。 A3值G258-G258 A4值1000-1500 删除A3=G258且A4为1000(更低)的记录 我该怎么办 delete t1 from some_table t1 join some_table t2 on t2.a3 = t1.a3 and t2.a4 > t1.a4; 演示: 这将仅在A4中按A3保留值最高的行。在A3中具有相同值的两行可能在A4中具有相同的最高值。因

我有一个包含4个关键字段的表。A1(主键),A2,A3,A4

我想删除A3中A4较低的副本

前。 A3值G258-G258 A4值1000-1500

删除A3=G258且A4为1000(更低)的记录

我该怎么办

delete t1 
from some_table t1
join some_table t2
  on  t2.a3 = t1.a3
  and t2.a4 > t1.a4;
演示:


这将仅在
A4
中按
A3
保留值最高的行。在
A3
中具有相同值的两行可能在
A4
中具有相同的最高值。因为您没有指定在这种情况下要执行的操作-两行都将保留。

A3
中,如果
A4
较低,您对重复项是什么意思?A3值:G123 G123 A4值:100 150我想删除第100行的G123您的标题和您的问题不一致。在标题中,您希望“保留值较低的行”。在你的问题和评论中,你想删除它。太好了!!非常感谢!