104 votes

Requête pour obtenir toutes les lignes du mois précédent

Je dois sélectionner toutes les lignes de ma base de données qui ont été créées le mois dernier.

Par exemple, si le mois en cours est janvier, je veux renvoyer toutes les lignes qui ont été créées en décembre, si le mois est février, alors je veux renvoyer toutes les lignes qui ont été créées en janvier. J’ai une colonne dans ma base de données qui répertorie la date créée dans ce format :.

233voto

hobodave Points 14566
<pre><code></code></pre>

25voto

martin clayton Points 41306

Voici une autre alternative. En supposant que vous ayez un champ indexé ou de type, cela doit utiliser l’index car les dates mises en forme seront converties avant que l’index ne soit utilisé. Vous devriez alors voir une requête plutôt qu’une requête lorsqu’elle est affichée avec EXPLAIN.

21voto

ekerner Points 1664

S’il n’y a pas de dates futures...

Testé.

16voto

SMTF Points 196

Alternativement à la réponse de hobodave

Vous pourriez obtenir la même chose avec EXTRACT, en utilisant YEAR_MONTH comme unité, vous n’auriez donc pas besoin de l’ET, comme ça:

9voto

Gregg Points 91
<pre><code></code><p>Cela devrait renvoyer tous les enregistrements du mois civil précédent, par opposition aux enregistrements des 30 ou 31 derniers jours.</p></pre>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X