I think you can use this approach too
--table structure
CREATE TABLE [a4] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[title] [varchar] (50) ,
[name] [varchar] (50) NULL ,
CONSTRAINT [PK_a4] PRIMARY KEY CLUSTERED
(
[id]
) ON [PRIMARY]
) ON [PRIMARY]
GO
--to have distinct id for the doubles
--the first id's
select distinct a.id, a.title, a.name from a4 a, a4 b where a.title = b.title and a.name = b.name and a.id < b.id
--the last id's
select distinct a.id, a.title, a.name from a4 a, a4 b where a.title = b.title and a.name = b.name and a.id > b.id
--to delete the first id's doubles and get unique rows in the original table
delete from a4 where id in (
select distinct a.id from a4 a, a4 b where a.title = b.title and a.name = b.name and a.id < b.id )
--to delete the last id's doubles and get unique rows in the original table
delete from a4 where id in (
select distinct a.id from a4 a, a4 b where a.title = b.title and a.name = b.name and a.id > b.id )