Maison > Questions et réponses > le corps du texte
Comment écrire une requête dans MySQL pour récupérer les données des 4 dernières semaines à partir d'aujourd'hui. J'ai recherché la requête sur Google mais je n'obtiens que les données de la semaine dernière. La semaine devrait commencer aujourd'hui et durer 4 semaines. Ci-dessous mes données
| sales | dated | --------------------------------- | 12 | 01-08-2022 21:00 | | 34 | 30-07-2022 21:00 | | 45 | 29-07-2022 21:00 | | 67 | 28-07-2022 21:00 | | 89 | 27-07-2022 21:00 | | 12 | 26-07-2022 21:00 | | 34 | 25-07-2022 06:00 | | 12 | 24-07-2022 21:00 | | 23 | 23-07-2022 21:00 | | 11 | 22-07-2022 21:00 | | 32 | 21-07-2022 21:00 | | 54 | 20-07-2022 21:00 | | 65 | 19-07-2022 21:00 | | 76 | 18-07-2022 15:00 | | 87 | 17-07-2022 21:00 | | 98 | 16-07-2022 21:00 | | 18 | 15-07-2022 21:00 | | 26 | 14-07-2022 21:00 | | 25 | 13-07-2022 21:00 | | 37 | 12-07-2022 21:00 | | 38 | 11-07-2022 21:00 | | 36 | 10-07-2022 21:00 | | 39 | 09-07-2022 21:00 | | 57 | 08-07-2022 21:00 | | 45 | 06-07-2022 21:00 | | 42 | 05-07-2022 21:00 | | 31 | 04-07-2022 21:00 | | 33 | 03-07-2022 21:00 | | 22 | 02-07-2022 21:00 | | 21 | 01-07-2022 21:00 |
Je veux le résultat comme indiqué ci-dessous
Week-1 | sales | dated | --------------------------------- | 12 | 01-08-2022 21:00 | | 34 | 30-07-2022 21:00 | | 45 | 29-07-2022 21:00 | | 67 | 28-07-2022 21:00 | | 89 | 27-07-2022 21:00 | | 12 | 26-07-2022 21:00 | | 34 | 25-07-2022 06:00 | Week-2 | sales | dated | --------------------------------- | 12 | 24-07-2022 21:00 | | 23 | 23-07-2022 21:00 | | 11 | 22-07-2022 21:00 | | 32 | 21-07-2022 21:00 | | 54 | 20-07-2022 21:00 | | 65 | 19-07-2022 21:00 | | 76 | 18-07-2022 15:00 | Week-4 | sales | dated | --------------------------------- | 87 | 17-07-2022 21:00 | | 98 | 16-07-2022 21:00 | | 18 | 15-07-2022 21:00 | | 26 | 14-07-2022 21:00 | | 25 | 13-07-2022 21:00 | | 37 | 12-07-2022 21:00 | | 38 | 11-07-2022 21:00 | Week-3 | sales | dated | --------------------------------- | 36 | 10-07-2022 21:00 | | 39 | 09-07-2022 21:00 | | 57 | 08-07-2022 21:00 | | 45 | 06-07-2022 21:00 | | 42 | 05-07-2022 21:00 | | 31 | 04-07-2022 21:00 | | 33 | 03-07-2022 21:00 |
Veuillez accepter mes sincères remerciements pour votre temps précieux
P粉1976397532024-04-02 10:08:24
Vous pouvez utiliser le numéro de la semaine comme valeur de champ pour chaque ligne :
SELECT *, FLOOR(DATEDIFF(CURRENT_DATE(), dated)/7) + 1 AS week_no FROM sales WHERE dated > CURRENT_DATE() - INTERVAL 4 WEEK ORDER BY dated DESC;