Resultat d'une requete sur plusieur mois

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Resultat d'une requete sur plusieur mois

par enneite » 09 juin 2009, 12:10

select count(id_reclamation) as nb_reclamations, left(date_reclamation,7) as mois_reclamation from reclamation group by left(date_reclamation,7)
quelque chose comme cela t'aide-t-il?

On utilise ici la fonction LEFT(nom_colonne,nb_caracteres) pour tronquer les dates. (attention l'emploi de la methode LEFT() empeche l'utilisation des indexs.) en mois et tout regrouper en mois.

si une date _reclamation est de la forme 2009-05-01 left(date_reclamation,7) donnera juste 2009-05

(la fonction RIGHT(nom_colonne,nb_caracteres) existe aussi)

par dunbar » 05 juin 2009, 19:36

Merci pour ta réponse.


Mais en faite c'est pas ca, je voudrait savoir si en une seul requête je pouvait obtenir les resultats des mois précédent
Bin la requete plus haut elle fait quoi :?:

par guigui69 » 04 juin 2009, 22:38

Merci pour ta réponse.


Mais en faite c'est pas ca, je voudrait savoir si en une seul requête je pouvait obtenir les resultats des mois précédent

par dunbar » 04 juin 2009, 15:55

Salut,
Un exemple.
$dateDebut ='2009-01-01';
$dateFin = '2009-06-30';
WHERE date BETWEEN '".$dateDebut."' AND '".$dateFin."'
Ici la requête va prendre les données du 01 janvier 2009 au 30 Juin 2009 en se servant du champ date.

Resultat d'une requete sur plusieur mois

par guigui69 » 04 juin 2009, 15:21

Bonjour à tous,

je voudrait savoir si il est possible de réaliser une requete sous mysql qui me retourne un résultat sur plusieurs mois.

J'ai ma table réclamation:
id_reclamation
Date_reclamation



Je voudrait avoir en une seul requete, qui me compte le nombre de réclamation du mois n, n-1,n-2.etc..

Exemple:

Code : Tout sélectionner

Select i.count(id_reclamation) as mois00, e.count(id_reclamation) as mois01,etc... From Reclamation WHERE i.month(date_reclamation) =05 AND i.year(date_reclamation) =2009 AND e.month(date_reclamation) =04 AND e.year(date_reclamation) =2009 etc...

Code : Tout sélectionner

Structure de la table `reclamation` -- CREATE TABLE `reclamation` ( `id_reclamation` int(11) NOT NULL auto_increment, `date_reclamation` date NOT NULL COMMENT 'date', `heure_reclamation` time NOT NULL, `id_user` int(11) NOT NULL COMMENT 'id user', `id_client` int(11) NOT NULL COMMENT 'client', `des_reclamation` text NOT NULL, `date_fabrication` date default NULL, `date_livraison` date default NULL, `date_dluo` date default NULL, `equipe` varchar(3) default ' ', `n_carton` int(11) default NULL, `n_bl` varchar(8) default ' ', `n_facture` varchar(8) default ' ', `lot_reclamation` int(4) default NULL, `retour_produit` tinyint(1) NOT NULL, `date_retour_reclamation` date default NULL, PRIMARY KEY (`id_reclamation`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=151 ; -- -- Contenu de la table `reclamation` --

Merci d'avance

guigui69