我有一张桌子:
有没有办法只删除具有指定ID的第一行?例如(在图片上)我想删除id为8的行,第一行id为9(留下第二行),删除第一行id为id(留下其他行)等。
答案 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