我有下表,
ID | 开始日期 | 阶段|
---|---|---|
56 | 21年6月7日03.13.44490000 | 初始阶段|
77 | 2008年6月21日06.28.14.0000000 | 初始阶段|
77 | 08-JUN-21 07.28.14.0000000 | 中间阶段 |
77 | 09-JUN-21 06.28.14.0000000 | 最终阶段 |
您可以在条件中使用MIN[IMUM]聚合,考虑到Final_Stage
和EXTRACT()
函数在阶段之间按字母顺序排列在顶部,以便将间隔日转换为第二个到整数,如
SELECT ID,
DECODE( MIN(stage), 'Final_Stage',
EXTRACT(DAY FROM MIN( CASE WHEN stage = 'Final_Stage' THEN start_date END ) -
MIN( CASE WHEN stage = 'Initial_Stage' THEN start_date END) ),0)
AS "Start_to_Final_Stage_Days"
FROM t
GROUP BY ID
ORDER BY ID;
ID | Start_to_Final_Stage_Days |
---|---|
56 | 0 |
77 | 1 |