【发布时间】:2022-01-08 21:44:22
【问题描述】:
我正在尝试将包含所有更改的表格简化为仅包含案例工作者的更改。
我的初始代码是这样的:
SELECT
id_no
, caseworker
, MIN(Start_Date)
, MAX(End_Date)
FROM Table
GROUP BY
id_no
, caseworker
这在大多数情况下都有效,但不适用于像这种情况,即同一个案工作者出现在两个不相交的时间段内。关于如何找到“本地”最小值和最大值的任何想法?
我看不到你们是否可以看到my picture,但我的桌子是这样的:
| Id_no | Caseworker | Start | End |
|---|---|---|---|
| 1 | None | 2014-04-10 | 2020-02-17 |
| 1 | KUN | 2020-02-17 | 2020-03-19 |
| 1 | KUN | 2020-03-19 | 2020-03-21 |
| 1 | KUN | 2020-03-21 | 2020-03-31 |
| 1 | KJE | 2020-03-31 | 2020-04-22 |
| 1 | KUN | 2020-04-22 | 2021-12-02 |
【问题讨论】:
-
Edit问题并提供minimal reproducible example,即涉及的表或其他对象的
CREATE语句(粘贴文本,不要使用图像,不要链接到外部站点),INSERT用于示例数据 (dito) 的语句以及带有表格文本格式的示例数据的所需结果。标记您正在使用的 DBMS。 -
请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。
标签: sql window-functions