我有一個非常大表包含價格歷史。SQL Server 2012清理一組數據
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條記錄。但不是第一個或最後一個14.我想保留第一個和最後一個記錄。然後在第一個和最後一個之間均勻地保存12條記錄。這樣我保持一些歷史的機智。
我不能找出一種方式直接與存儲過程,而不是通過我的c#ORM(這太慢了)。
你可以添加sql小提琴嗎? –
儘管我喜歡這個問題,但我不確定這是否是一種特別強大的歸檔數據方法。我認爲一個更好的方法是在歷史上及時對定點的價格進行快照,因此您可以對供應商和產品進行可靠的比較。 –