首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算组内最小值的差值。

问计算组内最小值的差值。
EN

Stack Overflow用户
提问于 2016-06-28 06:17:28
回答 1查看 49关注 0票数 1

下表如下:

代码语言:javascript
复制
| id|    Date    |

| 1 | 04-01-2016 |
| 1 | 04-07-2016 |
| 1 | 04-09-2016 |
| 2 | 04-06-2016 |
| 2 | 04-03-2016 |
| 2 | 04-10-2016 |

我希望在id分组中有一个列,列中包含每天到最小天数之间的天数。

代码语言:javascript
复制
 id  |   date     |  day_count 
  ---+------------+------------
   1 | 04-01-2016 |     0 (days between 04-01-2016 and 04-01-2016)
   1 | 04-04-2016 |     3 (days between 04-04-2016 and 04-01-2016)
   1 | 04-08-2016 |     7 
   2 | 04-17-2016 |     14 (days between 04-017-2016 and 04-03-2016)
   2 | 04-03-2016 |     0
   2 | 04-10-2016 |     7
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-28 06:21:59

通过使用窗口函数和Datediff函数,我们可以得到以下结果

代码语言:javascript
复制
DECLARE @Table1  TABLE 
    (id int, date datetime)
;

INSERT INTO @Table1
    (id, date)
VALUES
    (1, '2016-04-01 05:30:00'),
    (1, '2016-04-04 05:30:00'),
    (1, '2016-04-08 05:30:00'),
    (2, '2016-04-03 05:30:00'),
    (2, '2016-04-17 05:30:00'),
    (2, '2016-04-20 05:30:00')
;

脚本

代码语言:javascript
复制
 select  *
,       datediff(day, min(Date) over (partition by [ID]), Date)Cnt
from    @Table1
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38068392

复制
相关文章

相似问题

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