0

我们有 2 个表名为:“post”和“post_extra”。

“post”表的概要结构是:id、postdate、title、description。

对于 post_extra,它们是:eid、news_id、rating、views

第一个表中的“id”字段连接到第二个表的“news_id”。

表上有超过 100,000 条记录,其中许多是重复的。我想只保留一条记录并删除“post”表上具有相同标题的重复记录,然后删除“post_extra”上的连接记录

我在 phpmyadmin 上运行了这个查询,但是服务器崩溃了,我不得不重新启动它。

DELETE e FROM Post p1, Post p2, Post_extra e WHERE p1.postdate > p2.postdate AND p1.title = p2.title AND e.news_id = p1.id

我怎样才能做到这一点?

4

2 回答 2

1

我认为在id最高的情况下是最大值,posteddate如果这样你可以试试这个代码

DELETE from post where id in (select max(id) from post group by title)
于 2013-07-11T07:04:49.580 回答
0
DELETE p1 
FROM Post p1, Post p2 
WHERE p1.postdate > p2.postdate AND p1.title = p2.title
于 2013-07-11T06:50:37.530 回答