如何在sql中求一段时期的差。

yearlist 2005-05-23 10:59:52
有表a:

code name op_time quantity
11 a 2005.1.1 100
11 a 2005.1.2 200
11 a 2005.1.3 105
22 b 2005.1.1 100
22 b 2005.1.2 120
22 b 2005.1.3 10

现在要求求每种产品(a,b)在2005.1.1~2005.1.3之间的数量差(只要时间最晚的那个减去时间最早的那个数量),即要得到结果:
code name quantity
11 a 5
22 b -90
不知何解?
...全文
63 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zsfww1205 2005-05-23
  • 打赏
  • 举报
回复
select code,xm,
max(decode(op_time,'2005.1.3',quantity))- max(decode(op_time,'2005.1.1',quantity))
from a group by code,xm
沝林 2005-05-23
  • 打赏
  • 举报
回复
select distinct code,name,(first_value(quantity) over(partition by code order by op_time desc) - first_value(quantity) over(partition by code order by op_time)) quantity
from a

17,377

社区成员

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

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