Maison > base de données > tutoriel mysql > Comment récupérer efficacement les enregistrements MySQL des 30 derniers jours ?

Comment récupérer efficacement les enregistrements MySQL des 30 derniers jours ?

DDD
Libérer: 2024-12-16 15:09:11
original
676 Les gens l'ont consulté

How to Efficiently Retrieve MySQL Records from the Last 30 Days?

Récupération d'enregistrements dans une plage de 30 jours dans MySQL

Les utilisateurs rencontrent souvent des difficultés lorsqu'ils tentent de récupérer des enregistrements ajoutés à une base de données MySQL dans un plage de dates spécifique, en particulier lors de l’utilisation du formatage de date. Cet article répond à ce défi en fournissant une solution complète pour récupérer les enregistrements entre aujourd'hui et les 30 derniers jours, garantissant un formatage de date approprié à des fins d'affichage.

La requête d'origine fournie dans la question a rencontré un problème où elle n'a pas réussi à limiter la sélection aux 30 derniers jours et a récupéré tous les enregistrements à la place. Pour corriger cela, il est crucial d'appliquer la fonction DATE_FORMAT au sein de la clause SELECT, plutôt que la clause WHERE. La requête corrigée est la suivante :

SELECT DATE_FORMAT(create_date, '%m/%d/%Y')
FROM mytable
WHERE create_date BETWEEN CURDATE() - INTERVAL 30 DAY AND CURDATE()
Copier après la connexion

Il est important de noter que CURDATE() récupère uniquement la partie date, à l'exclusion de l'heure. Si votre colonne create_date stocke les données sous la forme DATETIME avec un composant temporel différent de zéro, cette requête risque de ne pas renvoyer les enregistrements d'aujourd'hui.

Pour résoudre ce problème, envisagez d'utiliser NOW() à la place :

SELECT DATE_FORMAT(create_date, '%m/%d/%Y')
FROM mytable
WHERE create_date BETWEEN NOW() - INTERVAL 30 DAY AND NOW()
Copier après la connexion

Cette modification garantit que la requête renvoie les enregistrements ajoutés au cours des 30 derniers jours, y compris ceux ajoutés le jour en cours avec n'importe quelle composante temporelle.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal