我有 table
id color image_id
1 red 2
2 green 2
3 pink 2
4 black 2
5 gray 2
6 orange 2
7 purple 2
8 yellow 2
9 greenish 2
10 white 2
select image_id,count(image_id) from colors group by image_id having count(image_id) > 5
如果计数大于 5 则删除大于 5 的数据。 例如
6 orange 2
7 purple 2
8 yellow 2
9 greenish 2
10 white 2
应该删除
最佳答案
您可以使用子查询,然后基于内部连接删除,例如它只会删除它有连接的记录,在你的子查询中你只会带回你想删除的记录..
delete a
from colors a
inner join
(
select image_id,count(image_id) from colors group by image_id having count(image_id) > 5
) as b
on a.image_id = b.image_id
关于mysql - 如果 image_id 计数大于 5,则删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26870966/