Bonjour,
J'ai besoin d'aide sur une requête SQL que je dois réaliser.
J'ai des données de production dans une table.
Je dois extraire les temps de changement de référence.
L'idée est de trouver les changements sur la colonne "Reference", et calculer la différence entre la date de la ref précédente et la ref suivante.
Je voudrais le faire en SQL plutôt que par programme car le nombre de lignes est important selon la période choisie.
J'ai des compétences limitées en SQL. Je vous remercie par avance de bien vouloir m'aider.
Lien db-fiddle : https://www.db-fiddle.com/f/vA44ZtDk1VtWffz3w33L25/0
Exemple :
La table de production :
| Date | NumLigne | Reference | NumIncremental |
| ------------------- | -------- | --------- | -------------- |
| 2023-03-17 08:52:10 | 3 | REF_A | 8001234 |
| 2023-03-17 08:52:45 | 3 | REF_A | 8001235 |
| 2023-03-17 08:53:16 | 3 | REF_A | 8001236 |
| 2023-03-17 08:53:50 | 3 | REF_A | 8001237 |
| 2023-03-17 08:58:20 | 3 | REF_B | 2001238 |
| 2023-03-17 08:58:55 | 3 | REF_B | 2001239 |
| 2023-03-17 08:59:10 | 3 | REF_B | 2001240 |
| 2023-03-17 08:59:45 | 3 | REF_B | 2001241 |
| 2023-03-17 09:02:30 | 3 | REF_B | 2001242 |
| 2023-03-17 09:03:10 | 3 | REF_B | 2001243 |
| 2023-03-17 09:10:02 | 3 | REF_C | 3001244 |
| 2023-03-17 09:10:52 | 3 | REF_C | 3001245 |
| 2023-03-17 09:11:30 | 3 | REF_C | 3001246 |
| 2023-03-17 09:12:30 | 3 | REF_A | 8001247 |
| 2023-03-17 09:13:10 | 3 | REF_A | 8001248 |
| 2023-03-17 09:13:50 | 3 | REF_A | 8001249 |
| 2023-03-17 09:14:30 | 3 | REF_A | 8001250 |
| 2023-03-17 09:28:30 | 3 | REF_B | 2001251 |
| 2023-03-17 09:29:10 | 3 | REF_B | 2001252 |
Le résultat voulu :
| Date changement | Reference avant| Reference après | Durée|
| ----------------------- | ----------- | ---------- | -------------- |
| 2023-03-17 08:58:20 | REF_A | REF_B | 4:30
| 2023-03-17 09:10:02 | REF_B | REF_C | 6:52
| 2023-03-17 09:12:30 | REF_C | REF_A | 1:00
| 2023-03-17 09:28:30 | REF_A | REF_B | 14:00
Partager