我有一个统计信息表,按小时显示按网站,国家/地区划分的展示次数和点击次数。
但是,由于一旦添加了新网站,表格大小就会增长得非常高,我想每天运行一次查询/交易来更换所有"一周之前"将数据转换为日期格式并删除一小时的精度。
所以我认为我需要一个交易,但我不知道我怎么能组织"在事务中,因为我要插入的行是我想要删除的查询结果。
这是我要插入的内容:
SELECT DATE(date), host, country, sum(impressions) as impressions, sum(clicks) as clicks
FROM Reports WHERE date BETWEEN '2015-04-30 00:00:00'
AND '2015-04-30 23:59:59' group by host, country
这就是我要删除的内容:
DELETE FROM Reports WHERE
date BETWEEN '2015-04-30 00:00:00' AND '2015-04-30 23:59:59'
我还想提一下,我在日期,主持人,国家/地区都有一个UNIQUE约束。
感谢。