Étant donné un tableau comme indiqué ci-dessous
|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 |
Existe-t-il un moyen de suivre le temps passé dans chaque statut en fonction de la date à laquelle le statut a changé ? La table avec laquelle je travaille n'a qu'une colonne de date.
Le résultat souhaité ressemble à ceci
|Time spent in phase|Status| |2 |Open |7 |In review |5 |Done
Je n'ai qu'une seule table avec laquelle travailler, alors existe-t-il une requête qui résoudrait bien ce problème ? Ce flux de travail a des règles définies pour que seules les opérations ouvertes puissent progresser.
Si tel est le cas, est-il possible d'utiliser ces changements d'état du workflow pour obtenir des requêtes potentielles ?
DBFIDDLE
Malgré mon dernier commentaire sur votre "question", j'ai créé un violon. Il a deux options :
Sortie :
Sortie :
P.S. Cette réponse utilise les fonctions MySQL 8.0 LEAD et LAG. Si vous n'utilisez pas MySQL 8.0, mais une version plus ancienne, cette réponse peut ne pas être utile...