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 :

groupement de donnees sur une periode de temps


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2005
    Messages : 8
    Par défaut groupement de donnees sur une periode de temps
    Bonjour,

    Je dois grouper des donnees sur une periode de temps, de 7h du mat a 19h la vieille.

    voici les donnees en entrees :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    DATE_SAVE           | NOM_SERVEUR   | NBFICAFFECTED
    08/06/2007 07:30:45 |	serveur3    |	2
    08/06/2007 06:45:02 |	serveur3    |	8
    08/06/2007 00:56:30 |	serveur3    |	1
    07/06/2007 23:30:51 |	serveur3    |	238
    07/06/2007 23:29:40 |	serveur3    |	7
    07/06/2007 23:28:51 |	serveur3    |	123
    07/06/2007 23:28:17 |	serveur2    |	519
    07/06/2007 23:24:04 |	serveur3    |	5970
    07/06/2007 23:17:25 |	serveur3    |	722
    07/06/2007 20:11:28 |	serveur3    |	1
    07/06/2007 18:30:45 |	serveur3    |	1
    07/06/2007 06:45:02 |	serveur3    |	8
    07/06/2007 02:11:46 |	serveur2    |	1
    07/06/2007 02:10:20 |	serveur3    |	1
    07/06/2007 01:41:42 |	serveur3    |	1
    j'ai essaye de plusieur maniere mais je n'arrive pas a grouper sur la periode qui m'interesse....

    voici la requete que j'ai fini par sortir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    select NOM_SERVEUR,sum(NBFICAFFECTED) sum_NBFICAFFECTED,max(DATE_SAVE) max_DATE_SAVE
    from ACTIVITESERVEUR
    group by 
    	NOM_SERVEUR,DATE_SAVE	
    having 
    	DATE_SAVE between to_date(to_char(DATE_SAVE-1,'DD/MM/YYYY')||' 19:00:00','DD/MM/YYYY HH24:MI:SS') 
    	and to_date(to_char(DATE_SAVE,'DD/MM/YYYY')||' 07:00:00','DD/MM/YYYY HH24:MI:SS')
    order by DATE_SAVE desc
    avec cette requete oracle ne group absolument rien

    par contre si je fais un truc du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select NOM_SERVEUR,sum(NBFICAFFECTED) sum_NBFICAFFECTED,max(DATE_SAVE) max_DATE_SAVE
    from ACTIVITESERVEUR
    group by 
    	NOM_SERVEUR,to_date(to_char(DATE_SAVE,'DD/MM/YYYY'))
    order by DATE_SAVE desc
    la j'ai bien des groupes mais sur la periode de la journee sur laquel je groupe, dommage je veux grouper sur 2 jours differents... doh...

    ce que je voudrais obtenir c'est un truc comme ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    max_DATE_SAVE       | NOM_SERVEUR   | sum_NBFICAFFECTED
    08/06/2007 06:45:02 |	serveur3    |	7204
    08/06/2007 06:54:02 |	serveur2    |	519
    07/06/2007 06:32:02 |	serveur3    |	6508
    07/06/2007 06:58:02 |	serveur2    |	520
    .                   | .             | .
    .                   | .             | .
    .                   | .             | .
    .                   | .             | .
    help please ca me mange le cerveau

  2. #2
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 109
    Par défaut
    t'as essayé un truc tout simple du style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    
    select NOM_SERVEUR,sum(NBFICAFFECTED) sum_NBFICAFFECTED,max(DATE_SAVE) max_DATE_SAVE
    from ACTIVITESERVEUR
    where DATE_SAVE between date1 and date2
    group by 
    	NOM_SERVEUR,DATE_SAVE

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2005
    Messages : 8
    Par défaut
    j'avais deja teste (bon j'ai refais par acquis de conscience) mais c'est pareil ca group pas mes donnees

  4. #4
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Citation Envoyé par ElBisounours
    ce que je voudrais obtenir c'est un truc comme ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    max_DATE_SAVE       | NOM_SERVEUR   | sum_NBFICAFFECTED
    08/06/2007 06:45:02 |	serveur3    |	7204
    08/06/2007 06:54:02 |	serveur2    |	519
    07/06/2007 06:32:02 |	serveur3    |	6508
    07/06/2007 06:58:02 |	serveur2    |	520
    help please ca me mange le cerveau
    Pourquoi pour serveur 2, la somme est plus grande le 7 que le 8 juin et l'inverse pour le serveur 3?

    Que penses-tu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    select 
      date_save,
      nom_serveur,
      nbficaffected,
      sum(nbficaffected)over(partition by nom_serveur order by date_save) cumul 
    from ACTIVITESERVEUR
    order by date_save;
     
    DATE_SAVE           NOM_SERV NBFICAFFECTED      CUMUL
    ------------------- -------- ------------- ----------
    07/06/2007 01:41:42 serveur3             1          1
    07/06/2007 02:10:20 serveur3             1          2
    07/06/2007 02:11:46 serveur2             1          1
    07/06/2007 06:45:02 serveur3             8         10
    07/06/2007 18:30:45 serveur3             1         11
    07/06/2007 20:11:28 serveur3             1         12
    07/06/2007 23:17:25 serveur3           722        734
    07/06/2007 23:24:04 serveur3          5970       6704
    07/06/2007 23:28:17 serveur2           519        520
    07/06/2007 23:28:51 serveur3           123       6827
    07/06/2007 23:29:40 serveur3             7       6834
    07/06/2007 23:30:51 serveur3           238       7072
    08/06/2007 00:56:30 serveur3             1       7073
    08/06/2007 06:45:02 serveur3             8       7081
    08/06/2007 07:30:45 serveur3             2       7083

  5. #5
    Membre Expert Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet / Urbaniste SI
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Par défaut
    Je n'ai pas essayé mais ....

    1) Ramener à la meme date (DATE_SAVE-12/24)
    2) Grouper sur cette pseudo colonne

    select NOM_SERVEUR,sum(NBFICAFFECTED) sum_NBFICAFFECTED,max(DATE_SAVE) max_DATE_SAVE
    from ACTIVITESERVEUR
    where DATE_SAVE between date1 and date2
    group by
    NOM_SERVEUR,TRUNC(DATE_SAVE-12/24)

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2005
    Messages : 8
    Par défaut
    laurent : ben les donnees ne sont pas sommer sur l'ensemble, mais juste sur le group qui m'interresse, c'est a dire la periode de 7h a 19h la veille.

    garu je test ca et je reviens

    merci a tous pour l'aide, j'vais bien finir par la sortir cette putain de requete

Discussions similaires

  1. [XL-2003] comptage champs date sur une periode de temps
    Par domitransalp dans le forum Excel
    Réponses: 4
    Dernier message: 19/01/2011, 17h13
  2. [XI] Calcul de valeurs dans un graphique avec une periode de temps
    Par campia dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 23/04/2007, 09h17
  3. Récupération de données sur une clé usb
    Par yasinfo dans le forum Périphériques
    Réponses: 3
    Dernier message: 22/11/2006, 19h02
  4. contraint CHECK avec lecture de données sur une autre table ?
    Par mamiberkof dans le forum Langage SQL
    Réponses: 1
    Dernier message: 22/05/2006, 09h14
  5. creation vue sur une periode
    Par LHERMITTE dans le forum Oracle
    Réponses: 2
    Dernier message: 30/03/2006, 11h46

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