分表数据处理的问题!

需求是这样的,有一批监控流量的数据,一分钟一个点一天有1440个点。

要监控40个公司的主要流量。

每条线路有主副2条线用来做负载均衡。

然后就是要对30天的数据进行加权计算处理。

如果按一年来算的话就是1440*40*2*365=4200多万条数据

很显然这样的数据量是要分表的

如果按月来分的话那么一个表大致就有300多万的数据,如果按天来分就有10多万条数据。

首先不管怎么分吧!这里的问题是要加权计算,我是想直接利用sql里面的count sum avg之类的函数直接运算返回结果。这样就可以大大的简化程序的逻辑。

但是不知道跨表后,这样的sql语句怎么写。

这里给个例子吧(按月份的话)

data2011_1

和data2011_2

这2张表

里面有共同的字段 streamdata

我要前一张表取10跳,后一张表取20条

然后对这30条数据取平均值,请问,我该如何操作??


幕布斯6054654
浏览 557回答 2
2回答

缥缈止盈

SELECT AVG(a.DistrictAutoID) FROM (SELECT TOP 20 * FROM dbo.DialupClientUsers(NOLOCK)WHERE 1= 1 UNION ALL SELECT TOP 10 * FROM dbo.DialupClientUsers(NOLOCK)WHERE 1=1 ) a

FFIVE

不知道4200万条数据是否真有那么多你想过用游标么,用存储过程呢?
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server