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

SQL Firebird Discussion :

Requete regroupement par date suivant une condition


Sujet :

SQL Firebird

  1. #1
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut Requete regroupement par date suivant une condition
    Salut à tous.

    Je cherche à réaliser une statistique sur une table par mois et année
    • TABLE TMACHIN
      NUM : INTEGER
      DATE_IN : DATE
      MACHINE : VARCHAR

    J'ai déjà essayé celui ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Select COUNT(*),DATE_IN from TMACHIN
    WHERE (MACHINE = 'C4256A/ABF')
    GROUP BY DATE_IN
    Mon problème c'est que DATE_IN est de type date alors que moi je le veux par mois par an.

    Merci
    On progresse .....

  2. #2
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    Je crois que j'ai trouvé.
    voila le code que j'ai utilisé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Select COUNT(*),DATE_IN from TMACHIN 
    WHERE (MACHINE = 'C4256A/ABF') and
          EXTRACT( MONTH FROM JOUR ) =10 and
          EXTRACT(YEAR FROM JOUR) = 2000
    GROUP BY DATE_IN
    Je teste en profondeur
    Reste a le transformer en Procedure STocké si possible et donc a boucler pour avoir le nombre par mois.

    Avez vous une idée sur comment faire.

    Merci
    On progresse .....

  3. #3
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Tu peux créer une vue ou une PS qui fait un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select TesColonnesDeLaTable, DATE_IN, EXTRACT( MONTH FROM DATE_IN )  as MONTH_DATE_IN, EXTRACT(YEAR FROM DATE_IN) as YEAR_DATE_IN from TMACHIN
    Ensuite tu n'as plus qu'a faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Select MONTH_DATE_IN, YEAR_DATE_IN, count(*) from MaVueOuMaPS 
    where....
    group by YEAR_DATE_IN, MONTH_DATE_IN

  4. #4
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    Merci Barbibulle

    C'est exactement ce que j'ai fais. Fallait passer par une vue pour que ça marche.
    Il y a encore une question, cette procedure servira a afficher une Chart sous Delphi, il a t'il pas un moyen de changer l'entier 1 .. 12 en JAN .. DEC
    dans la procedure stocké même

    Encore merci
    On progresse .....

  5. #5
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Oui c'est possible, il faut chercher dans les UDF. Par contre je n'ai pas vérifié si ces dernières prenaient en compte la langue du systeme d'exploitation ou si les mois sont toujours en anglais (j'ai bien peur que la pluparts on pris l'option de facilité car récupérer les noms de mois en francais c'est possible sous windows mais comme les UDF sont développées pour fonctionner sur plusieurs OS...)

    Bref la solution est d'essayer les fonctions proposées dans les UDF et si les mois sont en anglais, soit vous développez votre UDF, soit vous ecrivez une PS qui le fait soit vous le faite faire par votre programme Delphi (par exemple en définissant un field calculé, celui ci regardera la valeur retourné par le select et en fonction affichera le bon libellé).

  6. #6
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    Finalement, comme je n'ai pas trouvé dans rfunc alors je vais le faire sous delphi avec un champs calculé

    Merci Barbibulle
    On progresse .....

Discussions similaires

  1. [AC-2003] Requete regroupement par date
    Par ortiz dans le forum Access
    Réponses: 4
    Dernier message: 03/04/2015, 17h34
  2. Regroupement par date dans une requete access
    Par ifrpi dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 08/02/2008, 03h32
  3. Regroupement par tranche dans une requete SQL (MS SQL)
    Par AODRENN dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 21/03/2006, 13h21
  4. Pb de requete Regroupement de date
    Par Didi17 dans le forum Access
    Réponses: 3
    Dernier message: 19/10/2005, 10h22
  5. Réponses: 8
    Dernier message: 20/06/2005, 15h10

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