DELETE AAA FROM
(select * ,row_number() over (partition by [uID],type,CONVERT(varchar(100), [CreateTime], 102) order by [CreateTime]) as numrow
from [test].[dbo].[Tests]) AAA where numrow>1 and AAA.Type=1;
go
DELETE AAA FROM
(select * ,row_number() over (partition by [uID],type,CONVERT(varchar(100), [CreateTime], 102) order by [CreateTime] desc) as numrow
from [test].[dbo].[Tests]) AAA where numrow>1 and AAA.Type=2;