Write a single SQL to delete duplicate records from the a
single table based on a column value. I need only Unique
records at the end of the Query.
Answer Posted / bharath
guys rowid concept is discontinued in teradata as far as my
knowledge goes, we can always use below sql ...
INSERT INTO nodupes_table ( all_columns )
SELECT all_columns
FROM dupes_table
QUALIFY ...
where the QUALIFY ... can be (depending on your version):
/* V2R5 syntax */
QUALIFY ROW_NUMBER() OVER (PARTITION BY all_columns
ORDER BY all_columns) = 1
/* or V2R4 and higher equivalent functionality */
GROUP BY all_columns
QUALIFY CSUM(1, all_columns ) = 1
/* or, alternative OLAP SUM V2R4 and higher syntax */
QUALIFY SUM(1) OVER (PARTITION BY all_columns ORDER BY
all_columns ROWS
UNBOUNDED PRECEDING ) = 1
I do think an insert-select into a set table would be a
cleaner process (don't know about runtime, though):
INSERT INTO nodupes_set_table ( all_columns )
SELECT all_columns
FROM dupes_table;
refer to teradata forum for more info
| Is This Answer Correct ? | 17 Yes | 5 No |
Post New Answer View All Answers
what is object level locking ? where do appear this type of locking ?
How do you verify a complicated sql?
What do you mean by caching in teradata?
What is the use of fallback?
Explain fastload in teradata?
Can we collect statistics on multiple columns?
What are the joins in teradata?
What are the advantages of teradata?
What is the syntax for case when statement?
What are the various etl tools in the market?
What are the uses of bynets in multi-node systems?
What is basic teradata query language?
How many types of joins are there in teradata?
What is real time and near real time data warehousing?
What is a sparse index?