Ho un database MySQL con una tabella denominata stock_log con questi dati:
sku | data | quantità stock |
---|---|---|
111 | 2021-11-18 | 0 |
123 | 2021-11-18 | 0 |
146 | 2021-11-18 | 0 |
111 | 2021-11-19 | 5 |
123 | 2021-11-19 | 4 |
146 | 2021-11-19 | 0 |
111 | 2021-11-20 | 3 |
123 | 2021-11-20 | 4 |
146 | 2021-11-20 | 0 |
111 | 2021-11-21 | 3 |
123 | 2021-11-21 | 0 |
146 | 2021-11-21 | 0 |
111 | 2021-11-22 | 2 |
123 | 2021-11-22 | 0 |
146 | 2021-11-22 | 0 |
111 | 2021-11-23 | 0 |
123 | 2021-11-23 | 0 |
146 | 2021-11-23 | 2 |
Così, ho bisogno di fare una query che conta quanti giorni SKU senza borsa di oggi (2021-11-23), solo se di oggi è senza magazzino, raggruppati per codice articolo. Inoltre, è necessario contare i giorni senza magazzino dall'ultima data in cui si è in stock (a causa di una SKU potrebbe avere in stock 3 giorni consecutivi, poi di nuovo a 0, poi di nuovo è stock e poi di nuovo a 0).
In modo che la query dovrebbe spettacoli:
sku | giorni senza magazzino |
---|---|
111 | 0 |
123 | 2 |
NOTE:
- SKU 111: 0 giorni, senza un brodo di oggi. 123
- SKU 123: 2 giorni senza magazzino da 2021-11-21 (l'ultima data senza magazzino) ad oggi.
- SKU 146: non mostrare questo risultato, perché oggi si è nuovamente disponibile da oggi.
Spero di spiegare bene.
Grazie per il vostro aiuto! :)