Diberi jadual seperti di bawah
|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 |
Adakah terdapat cara untuk menjejaki masa yang diluangkan dalam setiap status berdasarkan tarikh status berubah? Jadual yang saya bekerjasama hanya mempunyai lajur tarikh.
Hasil yang diinginkan kelihatan seperti ini
|Time spent in phase|Status| |2 |Open |7 |In review |5 |Done
Saya hanya mempunyai satu jadual untuk bekerja, jadi adakah terdapat sebarang pertanyaan yang akan menyelesaikan masalah ini dengan baik? Aliran kerja ini mempunyai peraturan yang ditetapkan supaya hanya terbuka boleh diteruskan.
Jika ya, adakah mungkin untuk menggunakan perubahan keadaan aliran kerja ini untuk mendapatkan pertanyaan yang berpotensi?
DBFIDDLE
Walaupun komen terakhir saya pada "soalan" anda, saya mencipta biola. Ia mempunyai dua pilihan:
Keluaran:
Keluaran:
P.S. Jawapan ini menggunakan fungsi MySQL 8.0 LEAD dan LAG. Jika anda tidak menggunakan MySQL 8.0, tetapi versi yang lebih lama, jawapan ini mungkin tidak berguna...