经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Oracle » 查看文章
oracle中row_number()的用法
来源:cnblogs  作者:篮球是圆的  时间:2019/8/15 11:56:46  对本文有异议

 

 

公司系统升级的时候需要数据迁移,遇到一个问题:新表的数据结构和旧表异构,旧表是流水号,新表是联合主键(业务号码+业务号码序号)

最后发现用窗口函数 row_number() + partition by 就可以完美的实现,这里记录下,本人胆子比较小以至于例子中的表名和字段名都是瞎写的,嘻嘻,以后再遇到类似问题就直接抄了,哈哈。(partition by和group by都是分

组,但是感觉前者要比后者作用更灵活)

 

  1. 1 SELECT column1,
  2. 2 column2,
  3. 3 row_number() over(partition by column2 order by column2 desc) column2_seq
  4. 4 FROM talbe_name a
  5. 5 WHERE column1 in ('222222222222222C', '000000000000000C');
  6. 6
  7. 7 --效果不错噢
  8. 8 /*
  9. 9 000000000000000C 100000002527 1
  10. 10 000000000000000C 100000002526 2
  11. 11
  12. 12 222222222222222C 100002456768 1
  13. 13 222222222222222C 100002456767 2
  14. 14 222222222222222C 100002456766 3
  15. 15 222222222222222C 100002456765 4
  16. 16 222222222222222C 100002456764 5
  17. 17 222222222222222C 100002456762 6
  18. 18 222222222222222C 100002456761 7
  19. 19 222222222222222C 100002390482 8
  20. 20 */

 

原文链接:http://www.cnblogs.com/heyt/p/11346239.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号