mysql - 删除mysql中选定的行

标签 mysql sql select sql-delete

我想删除一组行,它们具有与此 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/

相关文章:

javascript - NodeJS不断刷新数据库表的数据

php - 如何在mysql中实现 'like'和 'in'

java - setAutoCommit(true) 是否提交过去的执行?

sql - 在 T-SQl 中使用 Like 来搜索由未知数量的空格分隔的单词

javascript - 在选择标签中更改时获取所选值

java - 插入现有行/选择非空字段

mysql - 找不到MySQL语法错误在哪里

MySQL导出命令

sql - 使用 Proc sql 和 Teradata 在 SAS 中编写高效查询

php - html选择不工作