sql - 需要 SQL Server 查询来获取句点
问题描述
我有下表:每个成员每天都有一个 col1 值。我需要获取每个成员的 col1 为零的时期。
Member_ID | col1 | Date
ADavis | 0 | 11-10-2013
ADavis | 0 | 11-11-2013
ADavis | 0 | 11-12-2013
DSmith | 1 | 11-10-2013
DSmith | 0 | 11-11-2013
FRowden | 0 | 11-10-2013
FRowden | 0 | 11-11-2013
ADavis | 1 | 11-13-2013
ADavis | 0 | 11-14-2013
DSmith | 1 | 11-12-2013
DSmith | 1 | 11-13-2013
FRowden | 1 | 11-12-2013
FRowden | 0 | 11-13-2013
输出
Member_ID | Start_date | End_date
ADavis | 11-10-2013 | 11-12-2013
ADavis | 11-14-2013 | 11-14-2013
DSmith | 11-11-2013 | 11-11-2013
FRowden | 11-10-2013 | 11-11-2013
FRowden | 11-13-2013 | 11-13-2013
解决方案
您可以使用以下差异row_numbers()
:
select Member_ID, min(date), max(date)
from (select *, row_number() over (partition by Member_ID order by date) seq1,
row_number() over (partition by Member_ID, col1 order by date) seq2
from table t
) t
where col1 = 0
group by Member_ID, (seq1 - seq2);
推荐阅读
- c# - 如何从进程同步中捕获日志?
- php - 如何使用来自远程 API 的数据加载 Post Type 字段
- heroku - 尽管将 config var 设置为“staging”(NestJS 应用程序),Heroku NODE_ENV 始终是“开发”
- reach - 如何查看 Reach 编译器的中间输出?
- python - 如何在 python 代码中跳过固定数量的行?
- angular - 错误:模块“DynamicTestModule”导入了意外的值“CookieService”。请添加@NgModule 注释
- android-layout - 我正在使用自定义吐司
- excel - 如何调整活动单元格公式的范围选择?
- javascript - 无法从 HTML 调用 node.js 函数,“未定义 clickPost”。目标是使用 HTML 按钮调用 node.js 函数
- python - 为什么我的函数(is_crowd)没有打印,我得到了
?