尝试创建 Teradata 视图以汇总特定 ID 的行具有特定值的时间
Trying to create a Teradata view to aggregate how long rows of a specific ID have had a certain value
我有一份测试报告 table,在每个 运行 测试后写一行。
假设这是数据:
| main_id | status | date |
|---------|--------|---------|
| 123 | pass | Jan 1st |
| 123 | fail | Jan 2nd |
| 123 | fail | Jan 3rd |
| 123 | fail | Jan 4th |
我想为每个测试创建一个视图,列出失败的时长。
基本上,上述数据的对应行如下所示:
| main_id | days_failing |
|---------|--------------|
| 123 | 3 |
使用 Teradata SQL,如何检查源中的每一行 table,寻找最后一次成功,然后总结所有后续失败?
编辑: 请注意,源 table 中会有许多不同的 "main_id",我需要在视图中为每个唯一的行添加 1 行源 table.
中的测试失败
谢谢
select main_id
,count (*) - 1 as days_failing
from (select main_id
,"date"
from t
qualify "date" >= max (case status when 'pass' then "date" end) over (partition by main_id)
) t
group by main_id
order by main_id
;
我有一份测试报告 table,在每个 运行 测试后写一行。
假设这是数据:
| main_id | status | date |
|---------|--------|---------|
| 123 | pass | Jan 1st |
| 123 | fail | Jan 2nd |
| 123 | fail | Jan 3rd |
| 123 | fail | Jan 4th |
我想为每个测试创建一个视图,列出失败的时长。
基本上,上述数据的对应行如下所示:
| main_id | days_failing |
|---------|--------------|
| 123 | 3 |
使用 Teradata SQL,如何检查源中的每一行 table,寻找最后一次成功,然后总结所有后续失败?
编辑: 请注意,源 table 中会有许多不同的 "main_id",我需要在视图中为每个唯一的行添加 1 行源 table.
中的测试失败谢谢
select main_id
,count (*) - 1 as days_failing
from (select main_id
,"date"
from t
qualify "date" >= max (case status when 'pass' then "date" end) over (partition by main_id)
) t
group by main_id
order by main_id
;