首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用最近(最老日期)使用同一列计算差值

使用最近(最老日期)使用同一列计算差值
EN

Stack Overflow用户
提问于 2020-11-10 13:38:41
回答 1查看 43关注 0票数 1

我有(简化的)数据库表A,它既保存母批纯度值,也保存批处理纯度(所有批次都是从以前的“母批”中生成的)。

我试图弄清楚如何通过SQL提取批纯度,以及批纯度与前一个母批之间的区别。示例名称始终保持不变,但可以是大量批号。

表A

代码语言:javascript
复制
Sample Name    |  Purity   |  Date (DD/MMM/YY)  
---------------+-----------+-----------------  
Mother Batch   |    100    |10-Oct-20  
   Batch 1     |    96     |11-Oct-20  
   Batch 2     |    94     |13-Oct-20  
Mother Batch   |    98     |14-Oct-20  
   Batch 1     |    94     |16-Oct-20  

Many thanks
Bob
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-10 13:42:29

使用条件窗口函数:

代码语言:javascript
复制
select t.*,
       datediff(date,
                max(case when samplename like 'Mother%' then date end) over (order by date)
               ) as diff
from t;

编辑:

在Server中,您将使用:

代码语言:javascript
复制
       datediff(day,
                max(case when samplename like 'Mother%' then date end) over (order by date),
                date
               ) as diff
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64770015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档