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 :

Group By sur un TimeStamp


Sujet :

SQL Firebird

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Avril 2004
    Messages : 249
    Par défaut Group By sur un TimeStamp
    Bonjour,

    J'ai un historique sur lequel je souhaite faire des stats quotidiennes.
    L'horodatage de chaque enregistrement est stocké dans un champ de type TimeStamp.
    Comment faire un groupage jour par jour sur ce type de champ ?

  2. #2
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Salut

    En utilisant Extract
    voir ici :http://www.firebirdsql.org/refdocs/l...5-extract.html

    @+

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Avril 2004
    Messages : 249
    Par défaut
    Merci pour ta réponse.
    Je ne connaissais pas la fonction Extract.

    Ceci étant dit, en attendant d'avoir une réponse, j'ai fureté à droite à gauche et j'ai fini par adopter une autre solution qui fonctionne parfaitement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT CAST(HISTORIQUE.HIS_DATEHEURE_EVT AS DATE) AS DATE_HISTO,
    COUNT(HISTORIQUE.HIS_ID) AS NOMBRE_EVT
    FROM HISTORIQUE
    GROUP BY DATE_HISTO
    ORDER BY DATE_HISTO;

  4. #4
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Re,

    Oui effectivement puisque tu regroupes par date, dans ce cas un cast suffit. Je ne sais pas pourquoi je m'étais focalisé sur un regroupement mensuel.

    @+ Claudius

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Avril 2004
    Messages : 249
    Par défaut
    Comme il n'est pas exclu qu'un regroupement autre que quotidien soit nécessaire dans le futur, ton aide me sera précieuse.

    Merci encore ...

  6. #6
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Un exemple de regroupement mensuel:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT
      EXTRACT(YEAR FROM HIS_DATEHEURE_EVT) ANNEE,
      EXTRACT(MONTH FROM HIS_DATEHEURE_EVT) MOIS,
      COUNT(HIS_ID) NOMBRE_EVT
    FROM
      HISTORIQUE
    GROUP BY
      ANNEE,
      MOIS;
    @+ Claudius

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

Discussions similaires

  1. group by sur deux parametres
    Par adilou1981 dans le forum Requêtes
    Réponses: 2
    Dernier message: 10/05/2005, 11h11
  2. [Debutant] GROUP BY sur les premiers caracteres d'un champ
    Par seb-astien dans le forum Langage SQL
    Réponses: 8
    Dernier message: 09/11/2004, 14h53
  3. faire un group by sur les différents niveau de code
    Par speed034 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 07/10/2004, 16h10
  4. Réponses: 9
    Dernier message: 17/01/2004, 10h51
  5. Group by sur resultat
    Par pointe dans le forum Requêtes
    Réponses: 9
    Dernier message: 04/12/2003, 08h30

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