日期:2014-05-18  浏览次数:20415 次

求大牛帮忙写千万条数据统计的SQL
现在,我的数据的一张表中存了大约一千万条数据,格式如下:第0列 主键 第1列 区站号 第2列 站名 第3列 纬度 第4列 经度 第5列 台站高度 第6列 年 第7列 月 第8列 日 第9列 积雪深度 
问题:查询连续积雪日数大于X天的地区
我的思路是这样的:首先对区站号建立索引,然后利用游标对表进行操作,循环统计。但这样好像效率很低啊。求思路


------解决方案--------------------
连续积雪日数,其实就是求间断的问题。楼主可以搜索下求间断的代码,另外最好年、月、日三个字段外还有一个完整日期格式的字段。
------解决方案--------------------
用row_number()over()函数解决。
表结构:
SQL code

Name      Type          Nullable Default Comments 
--------- ------------- -------- ------- -------- 
PK_ID     NUMBER(19)                              
AREAID    VARCHAR2(200) Y                         
SNOWDEPTH NUMBER(16,2)  Y                         
SNOWDATE  DATE          Y