0

我知道这必须是一个简单的,但我想做的一切都是通用的,所以很难创建谷歌术语来获得我想要的!

基本上我有一个数据表和一个每 30 秒输入新数据的作业。此数据已按相应字段和日期分组。

由于有大量数据进入,其中大部分类似于表中已有的数据,我希望对表本身进行汇总。显然,一种方法是创建第二个表,每 30 秒执行以下操作:

==> group by on the primary table and insert into secondary table 
==> delete primary table 
==> insert secondary table into primary table 
==> delete secondary table

现在我知道有一种更简单的方法可以做到这一点,而无需创建另一个表和一堆工作以及相关的开销,但我无法使用谷歌找到它!

4

1 回答 1

0

你把你的数据和你的数据摘要放在同一个表中?您能否更准确地了解表格的结构?

我认为您应该有两个表(一个用于数据,另一个用于聚合)或在表中有一个“类型”字段,说明它是简单的数据行还是聚合的结果。

如果您选择使用“类型”字段,您可以执行类似的操作

INSERT into mytable (a,b,c,type)
    select count(a),MAX(b),c,'aggregate' from mytable 
    where type='line' GROUP BY c

delete from mytable where type='line'
于 2013-04-11T12:39:25.107 回答