请教个数据库语句问题

mousever 2012-09-12 10:19:41
若我有如下表,有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列。
...全文
89 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
BenChiM888 2012-09-12
  • 打赏
  • 举报
回复

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;

mousever 2012-09-12
  • 打赏
  • 举报
回复
太牛了,很巧妙啊,非常感谢

17,082

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧