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 Oracle Discussion :

Nombre d'enregistrements pour chaque heure de la journée


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 8
    Par défaut Nombre d'enregistrements pour chaque heure de la journée
    Bonjour,
    Débutant, je cherche depuis un moment et ne parviens pas à résoudre mon problème. Ca ne doit pourtant pas être insurmontable....
    Pouvez-vous m'aider ?

    J'ai une table (image en attaché)

    Mon problème est de connaitre (avec une seule requête) le nombre d'enregistrements ayant eu lieu pour chaque plage d'une heure de la journée.

    Résultat du genre :
    Heure / Nb
    06:00 / 5
    07:00 / 3
    08:00 / 4
    ... etc
    06:00 étant l'heure de fin de plage (regroupant tous les enregistrements qui ont eu lieu entre 05:00:01 et 06:00:00)
    J'ai essayé groupby / trunc je n'y arrive pas

    Merci par avance pour votre aide

    Cordialement
    Images attachées Images attachées  

  2. #2
    Membre éclairé Avatar de Doracle
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2010
    Messages : 60
    Par défaut
    Le plus simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT count(*)
    FROM matable
    WHERE date BETWEEN 'datedebut' AND 'datefin';

  3. #3
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 8
    Par défaut
    Merci Doracle

    mais j'ai du mal m'exprimer :

    En effet, je peux y arriver comme cela en executant 24 requêtes (1 pour chaque heure de la journée )
    Mais je cherche a obtenir une nouvelle table (via un datareader ou autre) contenant tous mes resultats pour 1 journée en une seule requête.

  4. #4
    Membre éclairé Avatar de Doracle
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2010
    Messages : 60
    Par défaut
    Citation Envoyé par Histy Voir le message
    Mais je cherche a obtenir une nouvelle table (via un datareader ou autre) contenant tous mes resultats pour 1 journée en une seule requête.
    Détaille un peu plus ce que tu veux, ou fais nous une simulation du résultat désiré. J'ai du mal a comprendre la finalité.

  5. #5
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 8
    Par défaut
    J'ai essayé les différentes suggestions mais le résultat n'est pas ce que j'attends.

    Je m'explique sur ce que je recherche :
    En entrée j'ai la table dont j'ai joint l'image.

    NUMERO - - DATE
    00001 / 2010-04-12 05:03:01
    00002 / 2010-04-12 05:31:02
    00003 / 2010-04-12 05:33:03
    00004 / 2010-04-12 05:34:04
    00005 / 2010-04-12 05:59:05
    00006 / 2010-04-12 06:03:01
    ../..

    En une seule requête sur cette table, filtrer les données d'une journée précise exemple 2010-04-12 puis obtenir les couples de données :

    HEURE - - COUNT
    05:00 / 5
    06:00 / 3
    07:00 / 4
    08:00 / 4
    09:00 / 5

    Explication : les NUMERO 0001 à 0005 ont eu lieu entre 05:00:00 et 05:59:59 le COUNT est donc = à 5

    Merci pour votre aide
    Images attachées Images attachées  

  6. #6
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select trunc(date, 'HH24') Heure , count(*) Quantite
    from Ta_table
    group by trunc(date, 'HH24')
    order by 1

  7. #7
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Essayez ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      SELECT trunc(madate, 'hh24'), count(*)
        FROM matable
       WHERE madate BETWEEN 'datedebut' AND 'datefin'
    GROUP BY trunc(madate, 'hh24');
    Néanmoins les jours seront toujours distincts.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 32
    Par défaut
    ou essayez cette requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select to_char(madate,'hh24') as heure, count(*) as nbre from matable
    where to_char(madate,'dd-mm-yyyy')=date_jour
    group by to_char(madate,'hh24');

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 11/02/2011, 17h38
  2. Nombre de resultat pour chaque heure.
    Par Niki59 dans le forum Langage
    Réponses: 4
    Dernier message: 22/09/2010, 15h28
  3. Réponses: 6
    Dernier message: 16/04/2007, 15h33
  4. afficher dans un etat le nombre de personnes pour chaque ville
    Par puppusse79 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 08/12/2006, 15h55
  5. Réponses: 5
    Dernier message: 13/10/2006, 08h00

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