首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当组在MS SQL Server中重复时,按组删除除第一个和最后一个值之外的所有值(连续)

在MS SQL Server中,可以使用窗口函数和CTE(公共表表达式)来实现按组删除除第一个和最后一个值之外的所有值(连续)。

首先,我们可以使用ROW_NUMBER()函数给每个组内的行分配一个序号。然后,使用CTE将这些序号作为过滤条件,删除除第一个和最后一个值之外的所有值。

以下是具体的SQL查询语句:

代码语言:txt
复制
WITH CTE AS (
    SELECT *,
           ROW_NUMBER() OVER (PARTITION BY [组列] ORDER BY [排序列]) AS RowNum
    FROM [表名]
)
DELETE FROM CTE
WHERE RowNum > 1 AND RowNum < (SELECT MAX(RowNum) FROM CTE)

请注意,上述查询语句中的[组列]是指用于分组的列名,[排序列]是指用于确定每个组内行的顺序的列名,[表名]是指要操作的表名。

这样,除了每个组的第一个和最后一个值之外的所有连续值将被删除。

对于MS SQL Server,腾讯云提供了云数据库SQL Server(CDB for SQL Server)产品,它是一种高性能、可扩展的关系型数据库服务。您可以在腾讯云官网了解更多关于云数据库SQL Server的信息:云数据库SQL Server产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券