【发布时间】:2020-12-18 21:51:59
【问题描述】:
下面是我的数据集的样子: [1]:https://i.stack.imgur.com/v6r9J.png
CustNumber Status Date Running Total of Days
C100 IN 10/10/2019
C100 OUT 10/11/2019 1
C100 IN 10/12/2019
C100 OUT 10/13/2019 1
C100 IN 10/16/2019
C100 OUT 10/17/2019 1
C100 IN 4/23/2020
C100 OUT 4/27/2020
C100 OUT 4/28/2020
C100 OUT 4/28/2020 5
C100 IN 10/13/2020
C100 OUT 10/19/2020 6
每次“状态”列的值从 IN 变为 OUT 时,我想计算总天数列。 2019 年 10 月 10 日,该值为 IN。 2019 年 10 月 11 日,该值为 OUT。所以总和应该是 1。
对于同一位客户,2019 年 4 月 23 日,该值为 IN。在 04/28 上,该值再次为 OUT。所以运行总数应该是 5,因为它处于“IN”状态 5 天。
如何在 SQL 中实现这个查询?
【问题讨论】:
-
用您正在使用的数据库标记您的问题。此外,将结果显示为问题中的格式化表格。
标签: sql window-functions gaps-and-islands date-arithmetic