我想删除一组行,它们具有与此 SQL 选择相同的属性。
SELECT item_id, count(*) as item_in_order
FROM items
GROUP BY order_id
HAVING item_in_order = 1
换句话来说,这意味着我有订单项,我想删除仅包含一项的订单中的行。
例如:
item_id order_id
1 1
2 2
3 2
4 3
5 3
6 4
所以我想删除 item_id 为 1 和 6 的行。
最佳答案
您可以使用此查询
delete from items
where order_id in
(SELECT order_id
FROM items
GROUP BY order_id
HAVING count(*) = 1
)
它将删除 items 表中 order_id 仅存在一次的行
关于mysql - 删除mysql中选定的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21433912/