IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Cumul par Mois sur l'année


Sujet :

Requêtes MySQL

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Cumul par Mois sur l'année
    Bonjour,

    J'ai une table du type Ticket(id,duree,date_ticket) de laquelle je souhaiterais extraire le nombre de tickets par mois sur l'année en cours.
    Je parviens à extraire les données souhaitées mais en réalisant une requête par mois ce qui me parait un peu lourd.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT SUM(duree) as cumul, COUNT(id) as nb
                  FROM Ticket 
                  WHERE date_ticket BETWEEN "'.$datedebut.'" AND "'.$datefin.'"');
    Avez vous une piste a me fournir afin de réaliser ceci en une seule requête ?

    Merci bien

  2. #2
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    Selon moi, le plus simple est de faire un group by sur le mois. En MySQL, il y a une fonction qui retourne le mois d'une date [c]MONTH[/]
    Documentation ici : https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_month

    Quant à l'année, il te suffit de faire un where classique.

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci beaucoup kolodz pour cette piste.

    J'en suis donc ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT SUM(duree) as cumul, COUNT(id) as nb, MONTH(date_ticket)
    FROM Ticket 
    WHERE YEAR(date_ticket) = 2016
    GROUP BY MONTH(date_ticket)
    J'obtiens exactement ce que je souhaitais.

    Bonne journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recherche par mois sur plusieurs années
    Par meteor26 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 19/02/2013, 20h55
  2. [XL-2003] TCD : Cumul par mois indépendement de l'année
    Par jkrtu dans le forum Excel
    Réponses: 4
    Dernier message: 28/01/2011, 12h39
  3. Requête cumul par mois
    Par damsmut dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 09/04/2009, 17h31
  4. Réponses: 3
    Dernier message: 16/04/2007, 13h28
  5. Réponses: 2
    Dernier message: 20/02/2007, 10h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo