• Most important things is you have one identity column .
  • Use this query  for delete all duplicate record.
  • you can use group by on multiple column .
Query : 
delete from (TableName) where ID NOT IN(Select MAX(ID) from (TableName) group by ColumnName,ColumnName,ColumnName,....more columnname).

Example :
delete from dbo.WhsMaping
where ID NOT IN(Select MAX(ID) from dbo.WhsMaping group by WebSiteID,CatID1,CatID2,CatID3,CatID4,CatID4,CatID5,CatID6)