The union clause if used in the manner below can eliminate all the duplicates in the o/p of the query.
select * from tabname as tab1 union select * from tabname as tab2
For deleting the duplicate rows the following methodology can be followed
1) Create a temporary table (in DB2 or Cobol).
2) Using the above query populate all the distinct rows in the temp table.
3) Delete all the rows in the original table.
4) Copy all the rows from the temp table to the original table.