BETWEEN date sans le jours

cs_Fayo Messages postés 10 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 22 avril 2010 - 21 avril 2010 à 23:17
cs_Fayo Messages postés 10 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 22 avril 2010 - 22 avril 2010 à 00:35
Bonsoir à tous,

J'aimerai récupérer tous les enregistrements d'une table, dans un intervalle de temps.

Le champs date de ma table est un datetime, seulement j'aimerai faire cet intervalle sans relation avec le jours du mois (entre 2009-03 et 2010-01 compris par exemple).

J'ai essayé plusieurs requêtes sans succès :
SELECT COUNT( id ) , MONTH( date ) , YEAR( date ) 
FROM matable
WHERE date BETWEEN '2009-02' AND '2010-03'
GROUP BY YEAR( date ) , MONTH( date ) 


ou encore
SELECT COUNT( id ) , MONTH( date ) , YEAR( date ) 
FROM matable
WHERE YEAR(date)>= 2009 
AND MONTH(date)>=1 OR YEAR(date)<=2010
AND MONTH(date)<=1
GROUP BY YEAR( date ) , MONTH( date ) 


Si quelqu'un connais un moyen de faire :)

Merci d'avance.

1 réponse

cs_Fayo Messages postés 10 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 22 avril 2010
22 avril 2010 à 00:35
J'ai résolu le problème en passant par la fonction SUBSTR de sql
SELECT COUNT( id ) , MONTH( date ) , YEAR( date ) 
FROM matable
WHERE SUBSTR(date, 1, 7) BETWEEN '2009-02' AND '2010-03'
GROUP BY YEAR( date ) , MONTH( date ) 
0
Rejoignez-nous