说,我有一个像这样的表(SQL Server 2008):
CREATE TABLE tbl (ID INT, dtIn DATETIME2, dtOut DATETIME2, Type INT)
INSERT tbl VALUES
(1, '05:00', '6:00', 1), -- will be removed
(2, '05:00', '7:00', 1), -- will be removed
(3, '05:01', '8:00', 1),
(4, '05:00', '8:00', 1),
(5, '05:00', '6:00', 2), -- will be removed
(6, '05:00', '7:00', 2),
(7, '05:00', '7:00', 3),
(8, '04:00', '7:00', 3)
Run Code Online (Sandbox Code Playgroud)
我需要删除相同'类型'的所有记录(如果找到2个或更多),使用相同的'dtIn'作为'type',除了具有最大'dtOut'的记录.换句话说,上表应该导致:
(3, '05:01', '8:00', 1), -- no matching 'dtIn' for 'type' = 1
(4, '05:00', '8:00', 1), -- largest …Run Code Online (Sandbox Code Playgroud)