我有一张非常大的表格,其中包含价格历史记录。
对于每个产品(Id)和供应商(Id),我有数百个价格记录。现在需要删除大部分数据,但仍需要保留一些历史数据。对于每个产品(Id)和供应商(Id),我想要保留14条记录,但不包括第一条和最后一条记录。我想要保留第一条和最后一条记录,然后在第一条和最后一条记录之间均匀地保留12条记录。这样我就能保留一些历史记录。
我无法直接通过存储过程来实现这一点,而不是通过我的c# ORM(这太慢了)。
CREATE TABLE [dbo].[SupplierPurchasePrice](
[SupplierPurchasePriceId] [int] IDENTITY(1,1) PRIMARY KEY,
[ExternalSupplierPurchasePriceId] [varchar](20) NULL,
[ProductId] [int] NOT NULL,
[SupplierId] [int] NOT NULL,
[Price] [money] NOT NULL,
[PreviousPrice] [money] NULL,
[SupplierPurchasePriceDate] [date] NOT NULL,
[Created] [datetime] NULL,
[Modified] [datetime] NULL,
)
对于每个产品(Id)和供应商(Id),我有数百个价格记录。现在需要删除大部分数据,但仍需要保留一些历史数据。对于每个产品(Id)和供应商(Id),我想要保留14条记录,但不包括第一条和最后一条记录。我想要保留第一条和最后一条记录,然后在第一条和最后一条记录之间均匀地保留12条记录。这样我就能保留一些历史记录。
我无法直接通过存储过程来实现这一点,而不是通过我的c# ORM(这太慢了)。