| 
									
										
										
										
											2023-09-01 18:01:20 +02:00
										 |  |  | START TRANSACTION;
 | 
					
						
							|  |  |  | -- We'll rank all the runs (timestamps) for every day, and delete all the data but the most recent one.
 | 
					
						
							|  |  |  | DELETE FROM report_data_time_series WHERE JSON_EXTRACT(json, '$.id') IN (
 | 
					
						
							|  |  |  | 	select ids FROM (
 | 
					
						
							|  |  |  | 		SELECT 
 | 
					
						
							|  |  |  | 		(json ->> '$.id') AS ids,
 | 
					
						
							|  |  |  | 		DENSE_RANK() OVER(PARTITION BY `date` ORDER BY `timestamp` DESC) as denseRank
 | 
					
						
							|  |  |  | 		FROM (
 | 
					
						
							|  |  |  | 			SELECT
 | 
					
						
							|  |  |  | 			*
 | 
					
						
							|  |  |  | 			FROM report_data_time_series rdts
 | 
					
						
							|  |  |  | 			WHERE json ->> '$.reportDataType' = 'WebAnalyticEntityViewReportData'
 | 
					
						
							|  |  |  | 		) duplicates
 | 
					
						
							|  |  |  | 		ORDER BY `date` DESC, `timestamp` DESC
 | 
					
						
							|  |  |  | 		) as dense_ranked
 | 
					
						
							|  |  |  | 		WHERE denseRank != 1
 | 
					
						
							|  |  |  | );
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DELETE FROM report_data_time_series WHERE JSON_EXTRACT(json, '$.id') IN (
 | 
					
						
							|  |  |  | 	select ids FROM (
 | 
					
						
							|  |  |  | 		SELECT 
 | 
					
						
							|  |  |  | 		(json ->> '$.id') AS ids,
 | 
					
						
							|  |  |  | 		DENSE_RANK() OVER(PARTITION BY `date` ORDER BY `timestamp` DESC) as denseRank
 | 
					
						
							|  |  |  | 		FROM (
 | 
					
						
							|  |  |  | 			SELECT
 | 
					
						
							|  |  |  | 			*
 | 
					
						
							|  |  |  | 			FROM report_data_time_series rdts
 | 
					
						
							|  |  |  | 			WHERE json ->> '$.reportDataType' = 'EntityReportData'
 | 
					
						
							|  |  |  | 		) duplicates
 | 
					
						
							|  |  |  | 		ORDER BY `date` DESC, `timestamp` DESC
 | 
					
						
							|  |  |  | 		) as dense_ranked
 | 
					
						
							|  |  |  | 		WHERE denseRank != 1
 | 
					
						
							|  |  |  | );
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DELETE FROM report_data_time_series WHERE JSON_EXTRACT(json, '$.id') IN (
 | 
					
						
							|  |  |  | 	select ids FROM (
 | 
					
						
							|  |  |  | 		SELECT 
 | 
					
						
							|  |  |  | 		(json ->> '$.id') AS ids,
 | 
					
						
							|  |  |  | 		DENSE_RANK() OVER(PARTITION BY `date` ORDER BY `timestamp` DESC) as denseRank
 | 
					
						
							|  |  |  | 		FROM (
 | 
					
						
							|  |  |  | 			SELECT
 | 
					
						
							|  |  |  | 			*
 | 
					
						
							|  |  |  | 			FROM report_data_time_series rdts
 | 
					
						
							|  |  |  | 			WHERE json ->> '$.reportDataType' = 'WebAnalyticUserActivityReportData'
 | 
					
						
							|  |  |  | 		) duplicates
 | 
					
						
							|  |  |  | 		ORDER BY `date` DESC, `timestamp` DESC
 | 
					
						
							|  |  |  | 		) as dense_ranked
 | 
					
						
							|  |  |  | 		WHERE denseRank != 1
 | 
					
						
							|  |  |  | );
 | 
					
						
							|  |  |  | COMMIT;
 |