Hi @Kim-SG,
Please try the following solution.
-- DDL and sample data population, start
DECLARE @tbl TABLE (id INT IDENTITY PRIMARY KEY, status VARCHAR(10), dt_ts DATE,s_id INT);
INSERT @tbl (status, dt_ts, s_id) VALUES
('sent', '2011-01-01', 1),
('received', '2011-01-02', 1),
('wait', '2011-01-15', 1),
('close', '2011-02-01', 1),
('sent', '2011-01-01', 2),
('received', '2011-01-01', 2),
('close', '2011-04-01', 2),
('sent', '2011-01-02', 3),
('received', '2011-01-15', 3),
('wait', '2011-01-15', 3),
('close', '2011-02-01', 3);
-- DDL and sample data population, end
SELECT a.s_id
--, DATEDIFF(DAY, a.dt_ts, b.dt_ts)
FROM @tbl AS a -- received
INNER JOIN @tbl b -- close
ON b.s_id = a.s_id AND DATEDIFF(DAY, a.dt_ts, b.dt_ts) <= 60
WHERE a.status = 'received'
AND b.status = 'close';