50 votes

Comment sélectionner les 6 derniers mois dans la table des nouvelles à l'aide de MySQL

J'essaie de sélectionner les 6 derniers mois d'entrées dans une table, j'ai une colonne appelée datetime et c'est dans un format mysql datetime.

J'ai vu de nombreuses façons d'utiliser l'intervalle et d'autres méthodes - quelle méthode dois-je utiliser ? Merci

13voto

Pablo Santa Cruz Points 73944

Essaye ça:

 select *
  from table 
 where your_dt_field >= date_sub(now(), interval 6 month);

La requête lit : donnez-moi toutes les entrées dans table où le champ correspondant à la date d'entrée est plus récent que 6 mois.

2voto

Bufaroosha Points 23

J'ai essayé la réponse @ user319198 pour afficher les 6 derniers mois (somme des) ventes, cela a fonctionné mais j'ai rencontré un problème au cours du mois le plus ancien, je n'obtiens pas le montant des ventes du mois entier. Le résultat commence à partir du jour actuel équivalent de ce mois.

Je veux juste partager ma solution si quelqu'un est intéressé:-

 yourdate_column > DATE_SUB(now(), INTERVAL 7 MONTH)
limit 6

De plus, ce serait formidable si quelqu'un avait une meilleure solution pour mon cas J.

2voto

Md. Mahmud Hasan Points 479

Vous pouvez également utiliser TIMESTAMPDIFF

     TIMESTAMPDIFF(MONTH, your_date_column, now()) <= 6 )

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