版本:oracle10g假定一个序列
rowno, value
1 1
2 2
3 2
4 3
5 4
6 4
7 4
8 5
9 4
... ...通过分析函数的rows 4 preceding子句,可以指定一个含当前行共5行的窗口,现在我想求出这个序列中,每个数字在它对应的窗口中,出现的次数.例如上面这个序列中,假设当前行为rowno=5,那么1,3,4在这个窗口中只出现了1次,而2出现了2次,有没有类似于count这样的函数来进行统计? (count似乎只对RANGE 型的窗口有效)对以上序列,我希望的结果是这样的:rowno, value, cnt
1 1 1
2 2 1
3 2 2
4 3 1
5 4 1
6 4 2
7 4 3
8 5 1
9 4 4
... ...只要能求出这个cnt,再计算cnt/5,我就可以求出该窗口中,该数字的分布概率了,但这个cnt该怎么求?
rowno, value
1 1
2 2
3 2
4 3
5 4
6 4
7 4
8 5
9 4
... ...通过分析函数的rows 4 preceding子句,可以指定一个含当前行共5行的窗口,现在我想求出这个序列中,每个数字在它对应的窗口中,出现的次数.例如上面这个序列中,假设当前行为rowno=5,那么1,3,4在这个窗口中只出现了1次,而2出现了2次,有没有类似于count这样的函数来进行统计? (count似乎只对RANGE 型的窗口有效)对以上序列,我希望的结果是这样的:rowno, value, cnt
1 1 1
2 2 1
3 2 2
4 3 1
5 4 1
6 4 2
7 4 3
8 5 1
9 4 4
... ...只要能求出这个cnt,再计算cnt/5,我就可以求出该窗口中,该数字的分布概率了,但这个cnt该怎么求?
解决方案 »
- asp.net 里oracle事务处理
- was6.1 Io 异常: The Network Adapter could not establish the connection
- 虚拟机配置oralcle RAC,安装集群件,在 执行root.sh时的错误
- 使用DBCA创建数据库失败,提示ORA-01092:ORACLE例程终止。强制断开连接
- 如何解决ORA-01110?
- oracle10g release1 版本的数据库,A 用户要怎么才能访问B用户的表呢?
- 希望能用标准的sql语句解决纵表的组合查询问题
- 简单问题,请问怎么解决?谢谢!
- 为什么oracle启动后没有'RECO'这个进程
- 请问在sql server中如何在select的结果中添加行号如1,2,3。。。多谢!
- Oracle下如何做到多用户下都有相同资源————急——————
- 问个弱弱的SQL问题
参考下http://www.oracle.com/technology/global/cn/products/bi/stats_fns/index.html
from (select t.*, wm_concat(t.value) over(order by t.rowno rows 4 preceding) cc from test t);