Delete Duplicate Records from a Table in SQL Server

The requirement is very common. Many times we have to delete duplicate records from a table. Here there are many solutions for same problem:
 
Method 1 
  1. Create table NewTempTable as select distinct * from table_name;  
  2. Drop table table_name;  
  3. Rename NewTempTable  to table_name;    
Method 2 
  1. Delete from <Table_Name> where <id> not in ( select max <id> from <table_Name> group by <duplicate_column>)  
Both solutions are fine and solve the problem but second solution solves in one single SQL command.