求大牛帮忙写千万条数据统计的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