我想删除一组行,这些行具有与此SQL select相同的属性。
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删除行。
答案 0 :(得分:3)
您可以使用此查询
delete from items
where order_id in
(SELECT order_id
FROM items
GROUP BY order_id
HAVING count(*) = 1
)
它将删除order_id在项目表
中仅存在一次的行