Maison >base de données >tutoriel mysql >Voici quelques options de titre, en mettant l'accent sur l'aspect de la question : * Comment récupérer les enregistrements de la semaine en cours dans MySQL (à partir de lundi) ? * Requête MySQL : Pourquoi est-ce que j'obtiens des enregistrements pour le mauvais pipi
Comment récupérer sélectivement les enregistrements de la semaine en cours dans MySQL
Pour obtenir les enregistrements de la semaine en cours dans une base de données MySQL, envisagez d'utiliser l'outil Fonction ANNÉESEMAINE(). Cette approche évite d'avoir à exécuter plusieurs instructions SQL.
En tirant parti de YEARWEEK(), vous pouvez spécifier son premier paramètre comme colonne de date (date dans votre cas) et définir le deuxième paramètre sur 1, garantissant que le la semaine commence à partir de lundi. En comparant le résultat à YEARWEEK(CURDATE(), 1), vous récupérez efficacement les enregistrements compris entre le lundi et le dimanche en cours.
Résoudre le problème de requête
La requête fournie sélectionne les enregistrements pour la période allant du 17 novembre 2013 (dimanche) au 23 novembre 2013 (samedi) au lieu du 18 novembre 2013 (lundi) au 24 novembre 2013 (dimanche). Cet écart est dû au fait que la base de données initialise par défaut la semaine à partir du dimanche, ce qui entraîne effectivement une plage hebdomadaire du dimanche au samedi.
Pour résoudre ce problème, vous devez définir manuellement le deuxième paramètre de YEARWEEK() sur 1. ou indiquez explicitement que le jour de début de la semaine est lundi à l'aide de la fonction WEEK(), comme démontré dans la requête corrigée suivante :
<code class="sql">SELECT * FROM your_table WHERE YEARWEEK(`date`, 1) = YEARWEEK(CURDATE(), 1)</code>
Vous pouvez également utiliser la fonction WEEK() pour définir explicitement le début de la semaine. jour au lundi :
<code class="sql">SELECT * FROM your_table WHERE WEEK(`date`, 1) = WEEK(CURDATE(), 1)</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!