給定一個(gè)如下所示的表格
|date |From | To | |01/01/21 |Open |In progress | |01/03/21 |In progress|In review | |01/10/21 |In Review |Done | |01/15/21 |Done |Resolved |
有沒有辦法根據(jù)狀態(tài)更改的日期來跟蹤每個(gè)狀態(tài)所花費(fèi)的時(shí)間? 我正在使用的表中只有一個(gè)日期列。
期望的結(jié)果看起來像這樣
|Time spent in phase|Status| |2 |Open |7 |In review |5 |Done
我只有一張表可以使用,那么是否有任何查詢可以很好地解決這個(gè)問題?此工作流程已設(shè)定規(guī)則,因此只有 open 才能進(jìn)入進(jìn)行中。
如果是這樣,是否可以使用這些工作流程狀態(tài)更改來獲取潛在的查詢?
盡管我最后對(duì)你的“問題”發(fā)表了評(píng)論,但我還是創(chuàng)建了一個(gè)小提琴。它有兩個(gè)選項(xiàng):
SELECT DATEDIFF(COALESCE(LEAD(`Date`) OVER (ORDER BY `Date`),`date`),`Date`) as 'Time spent in phase', `From` FROM ThatLooksLikethis;
輸出:
階段花費(fèi)的時(shí)間 | 來自 |
---|---|
2 | 打開 |
7 | 進(jìn)行中 |
5 | 審核中 |
0 | 完成 |
SELECT DATEDIFF(`Date`,COALESCE(LAG(`Date`) OVER (ORDER BY `Date`),`date`)) as 'Time spent in phase', `From` FROM ThatLooksLikethis;
輸出: