前几天同事问我一个问题,能不能用sql搞定这个问题:

我这里有一个张表table1中有time1,value1,有表table2有字段time2,value2。

现在要把table2中的value2更新到table1的value1中,要求time2距离time1最近。

一下子就想到之前学到的over partititon,但是只是学的时候操作了几个例子,一下子也没写上来。

后来找到一个教程http://blog.csdn.net/ayou2008/article/details/7179001

    1. select e.ename,
    2. e.job,
    3. e.sal,
    4. e.deptno,
    5. lead(e.sal, 1, 0) over(partition by e.deptno order by e.sal) lead_sal,
    6. lag(e.sal, 1, 0) over(partition by e.deptno order by e.sal) lag_sal,
    7. nvl(lead(e.sal) over(partition by e.deptno order by e.sal) - e.sal,
    8. 0) diff_lead_sal,
    9. nvl(e.sal - lag(e.sal) over(partition by e.deptno order by e.sal), 0) diff_lag_sal
    10. from scott.emp e;

稍微修改一下即可,diff_lead_sal, diff_lag_sal  和sal做差  两个差中找比较小的一个

请诸位试试能不能做到。

但是感觉效率很差,大家有没有好的方法啊?那哥们要离职了,根本不考虑太多,拿起我的方案就用...

最新文章

  1. jQuery的DOM操作实例(1)——选项卡&&Tab切换
  2. logging 模块
  3. spring定时器,当遇见半小时的情况时
  4. Android中处理OnClick和OnTouch方法冲突的解决方案
  5. SQL 两种表复制语句
  6. [LeetCode] Subsets (bfs的vector实现)
  7. 线程池原理及创建(C++实现)
  8. android 点击edittext弹出软键盘,否则不弹
  9. 15.导入网表及status介绍[原创]
  10. BZOJ 1589 采集糖果
  11. 《MFC游戏开发》笔记七 游戏特效的实现(一):背景滚动
  12. MongoDB(四)——管理架构
  13. float与position
  14. Openlayer 3 的点击弹出框
  15. div+css与table布局
  16. Android系统--输入系统(十六)APP跟输入系统建立联系_InputChannel和Connection
  17. 优化表单数据的JS校验
  18. crt证书iis 中引用 程序目录提示 System.UnauthorizedAccessException:拒绝访问
  19. 使用日期操作类(Calendar)获得几秒、几分钟、几小时之前的时间
  20. SQLPrompt 安装后sql上看不到菜单

热门文章

  1. hdu1576-A/B-(同余定理+乘法逆元+费马小定理+快速幂)
  2. 在webpack构建的项目中使用vue
  3. js高级-数组的map foreach 方法
  4. mysql数据库主从同步读写分离(一)主从同步
  5. com.google.gson.stream.MalformedJsonException
  6. java 递归 树形
  7. Java方法的重载和重写
  8. Android的框架功能说明
  9. Java读取文件时第一行出现乱码“?”问号
  10. 牛客网练习赛44-B(快速幂+模拟)