-- 测试数据
DECLARE @t TABLE(
id int, value varchar(10))
INSERT @t SELECT 1, N'开门'
UNION ALL SELECT 2, N'开门'
UNION ALL SELECT 3, N'关门'
UNION ALL SELECT 4, N'开门'
UNION ALL SELECT 5, N'开门'
UNION ALL SELECT 6, N'关门'
-- 查询
SELECT *
FROM @t A
WHERE value <> ISNULL((
SELECT TOP 1 value FROM @t
WHERE id < A.id
ORDER BY id DESC), A.value + 'a')
-- 结果:
id value
----------- ----------
1 开门
3 关门
4 开门
6 关门