|
Archives of the TeradataForumMessage Posted: Fri, 14 Dec 2012 @ 13:49:56 GMT
Hi John, I think what you want is to keep the last four 'sets' of data, which may not be the last 4 calendar weeks of data. Correct ? If so then you could do it with something like the following - assume column TXN_DT is the date column being used for deletion: CREATE SET VOLATILE TABLE VT1 AS (SELECT TXN_DT,SUM(1) OVER(ORDER BY TXN_DT DESC ROWS UNBOUNDED PRECEDING) AS DATE_SEQ FROM (SELECT TXN_DT FROM T1 GROUP BY 1 ) AS DT1 QUALIFY DATE_SEQ = 4 ) WITH DATA ON COMMIT PRESERVE ROWS; DELETE FROM T1 WHERE T1.TXN_DT < VT1.TXN_DT; I couldn't work out a way of getting the whole thing done in a single request because the SUM function can't be used in a sub-query. Probably someone else can. Cheers, Dave Ward Analytics Ltd - Information in motion (www.ward-analytics.com)
| ||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||
Copyright 2016 - All Rights Reserved | ||||||||||||||||||||||||||||||||||||||||||||||||
Last Modified: 15 Jun 2023 | ||||||||||||||||||||||||||||||||||||||||||||||||