Do-until循环在SQL中按id提取指定数据条目的日期



是否有一种方法可以通过我的数据循环获取指定数据条目的日期?

示例:
id为1的列类型中'Y'的第一个条目是在2012-01-01。

id type date
1  Y    2022-01-01
1  Y    2022-01-09
1  X    2022-01-12
2  Y    2022-01-08
2  X    2022-01-09
2  X    2022-01-12

作为小提琴

我想保留'Y'的第一个条目的日期,并保留以下条目的日期

id type date        Start
1  Y    2022-01-01  2022-01-01
1  Y    2022-01-09  2022-01-01
1  X    2022-01-12  2022-01-01
2  Y    2022-01-08  2022-01-08
2  X    2022-01-09  2022-01-08
2  X    2022-01-12  2022-01-08

Thanks in advance

使用窗口函数获取每个id的最小'Y'日期:

select tab.*, min(case when type = 'Y' then date end) over (partition by id)
from tab

https://dbfiddle.uk/l_FUKvq_