如何写语句?

OpenVMS 2007-01-30 04:42:00
我有三万多条记录,有日期子段,要求计算每条的记录与上次最近时间的时间间隔
...全文
216 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zgh2003 2007-01-30
  • 打赏
  • 举报
回复
不是让你用循环做,是建议你采用中间变量,这样可以把一个复杂的语句拆分为两个简单的语句来实现.
OpenVMS 2007-01-30
  • 打赏
  • 举报
回复
晕,3w条记录用循环做啊?
zgh2003 2007-01-30
  • 打赏
  • 举报
回复
建议采用楼上的方法
flyoutsea 2007-01-30
  • 打赏
  • 举报
回复
把这个语句拆成两份吧,否则每处理一条记录都要执行select min(p_date) from tx where p_date>t.p_date一次,这样肯定是慢的,

select min(p_date) from tx where p_date>t.p_date
将得到的变量存在min_p_date里面,再执行

update tx t
set interval=min_p_date-p_date*24*60
OpenVMS 2007-01-30
  • 打赏
  • 举报
回复
UPdate就没有反应了

不能用自增长

update tx t
set interval=(select min(p_date) from tx where p_date>t.p_date)-p_date)*24*60

OpenVMS 2007-01-30
  • 打赏
  • 举报
回复
查询要13秒,要求更新,如何做

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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