SQL - 如果有多个相同的值,则删除最后一行

帕特里克·朔姆伯格

可以在 sql 中做这样的事情:

DELETE TOP 1 FROM items WHERE ItemID = 'xxx' and count(ItemID) > 6 order by index

因此,如果有超过 6 行以 'xxx' 作为 itemID,它会删除比具有该 item id 的那 6 行更新的任何内容?

苏达卡尔

我认为,我们不能在删除查询中使用top 1但是我们可以在 where 条件中使用它作为子查询。使用子查询获取数据库 id 列表并将其删除。

DELETE FROM items WHERE id in (select top 1 id from items ItemID = 'xxx' and count(ItemID) > 6 order by index)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

SQL Server:如果有另一行具有相同的col值和特定的辅助列值,则排除表中的行

如果有多个名称而不是多个SQL Server,如何在一行中选择所有测试名称?

SQL 查看多个条件,如果有任何条件无效,则提供单个“NotOk”值

用SQL排序,如果有些相同,则用SQL中的其他命令排序

删除表中具有相同值的重复行,但在SQL Server中保留一行

SQL,如果有条件查询

如果有特殊字符,SQL选择字段的GROUP BY

根据唯一的行值搜索和更新列数据,如果有新值,则更新为最后一行VBA

触发以避免删除该值的最后一行SQL Server

SQL:如果联接返回多个匹配项,则仅删除一行

SQL的最后一行

删除表的最后一行使用SQL查询?

查询Sql Server能够删除表的最后一行

如果值与上一行中的值相同,则在没有存储过程或函数的情况下折叠Sql中的数据

SQL Select Statement for: 如果有一个匹配项,则将它们全部显示

SQL:如果有重复项,请在下一列中添加注释

SQL查询以获取访问表最后一行中所有列值的总和

基于具有相同列值的另一行的SQL INSERT行

SQL:仅选择具有相同值的表的一行

我该如何进行SQL查询,如果没有记录则返回null,如果有记录则返回值?

SQL删除具有多个相同列的重复值

如何按组删除除SQL Server中的第一行和最后一行以外的所有行?

如果另一列在SQL Server中相同,则获取具有最小列值的行

如果有多个 bean 具有相同的 @Order 值会发生什么

SQL Server存储过程,如果有case,则为WHERE子句

SQL-如果有条件,如何返回失败订单的数量?

Where子句,如果有多个相同的ID

如果有足够的空间,在同一行中的 2 行

SQL Server 在最后一行插入