یه چیزی شبیه به این میشه
DECLARE @t TABLE (id INT IDENTITY(1,1), Name VARCHAR(100), Tarikh VARCHAR(15))
-------old log------------------
INSERT INTO @t
(
Name,
Tarikh
)
VALUES
( 'hamid', -- Name - varchar(100)
'1398/07/05' -- Tarikh - varchar(15)
),('hamid','1398/07/06'),('hamid','1398/07/08')
,('hamid','1398/07/06'),('hamid','1398/07/07')
,('ali','1398/07/06'),('ali','1398/07/07')
,('hamid','1398/07/09')
---- new Insert ---------------
INSERT @t
(
Name, Tarikh
)
VALUES
( 'hamid', '1398/07/09' )
DELETE @t WHERE id < (SELECT MIN(id) FROM (SELECT TOP (3) id FROM @t WHERE name = 'hamid' ORDER BY id DESC) t)
AND name = 'hamid'
SELECT * FROM @t