若我有如下表,有A、B两列,具体值如下:
A B C
1 2 1
2 2 1
3 2 1
4 3 4
5 3 4
6 7 6
7 7 6
8 7 6
9 2 9
10 2 9
11 2 9
12 2 9
我想得到类似C这样的一列值,即C是根据B分组边界的第1条记录对应的A值作为C值,但是也不完全是按B分组,像B的第9行之后都是3,与1、2、3行的B值相同,但此时第9行记录不是要取值为1,而是取9,不知道如何能不通过游标的方式快速的得到C列。
A B C
1 2 1
2 2 1
3 2 1
4 3 4
5 3 4
6 7 6
7 7 6
8 7 6
9 2 9
10 2 9
11 2 9
12 2 9
我想得到类似C这样的一列值,即C是根据B分组边界的第1条记录对应的A值作为C值,但是也不完全是按B分组,像B的第9行之后都是3,与1、2、3行的B值相同,但此时第9行记录不是要取值为1,而是取9,不知道如何能不通过游标的方式快速的得到C列。
解决方案 »
- 10g RAC的表扩展问题
- Oracle连接失败,starup提示ORA-03113
- 数据导入错误:IMP-00017: following statement failed with ORACLE error 2299 请高手指点迷津
- 如何将dmp文件导入到sqlserver2005中
- pls 00103
- oracle 10g的恢复啊
- 菜鸟问题:一台机器上配了2个数据库实例,其中一个正常,另一个总是连不上!
- oracle for linux的安装文件有下载的吗?有没有安装光盘买?
- 求一条SQL语句或函数
- 那位大哥知道在那里可以下在免费的OCP(Oracle 8i 或 Oracle 9i)的参考资料
- 昨天问题没写清楚,再发帖求助写sql
- powerdesigner生成数据库脚本时如何生成同义词
select a,b,first_value(a)over(partition by row_,b order by a) c
from( select a,b,a-row_number()over(partition by b order by a) row_
from t
)
order by a;