MySQL只删除第一行

时间:2015-04-13 18:39:34

标签: mysql

我有一张桌子:

有没有办法只删除具有指定ID的第一行?例如(在图片上)我想删除id为8的行,第一行id为9(留下第二行),删除第一行id为id(留下其他行)等。

1 个答案:

答案 0 :(得分:1)

这将删除每个post_id组中的第一行,使用meta_value作为排序。

DELETE t1.* FROM yourTable AS t1
JOIN (SELECT post_id, min(meta_value) AS min_meta
      FROM yourTable
      GROUP BY post_id) AS t2
ON t1.post_id = t2.post_id AND t1.meta_value = t2.min_meta