Mysql根据列值删除重复的行,但保留最新的行
我有一个包含3个字段phonecall、calldate和checked的表,我希望通过phonecall列值删除重复的行,但不是最新的行Mysql根据列值删除重复的行,但保留最新的行,mysql,Mysql,我有一个包含3个字段phonecall、calldate和checked的表,我希望通过phonecall列值删除重复的行,但不是最新的行 在这个场景中,我想从这个表的第一行删除2行 谢谢你这样说: delete A from TableX A left join TableX B on B.CallDate>A.CallDate and B.PhoneCall=A.PhoneCall where B.PhoneCall is not null 这可能会起作用: delet
在这个场景中,我想从这个表的第一行删除2行 谢谢你这样说:
delete A from TableX A
left join TableX B
on B.CallDate>A.CallDate and B.PhoneCall=A.PhoneCall
where B.PhoneCall is not null
这可能会起作用:
delete callLog
from callLog
inner join (
select max(CallDate) as lastCallDate, PhoneCall
from callLog
group by PhoneCall
having count(*) > 1) duplic on duplic.PhoneCall = callLog.PhoneCall
where callLog.CallDate < duplic.lastCallDate;
您要删除哪两行?第一个共享表的其他字段中的两行;没有其他领域关于内部连接没有何处?