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 :

Temps moyen de toutes les données et temps d'éxécution depuis la veille


Sujet :

SQL Oracle

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Temps moyen de toutes les données et temps d'éxécution depuis la veille
    Bonjour,

    Dans une table j'ai des dates de début et de fin d’exécution de traitement.
    Je veux sortir le temps moyen d’exécution des traitements, et les derniers temps d'exécution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT AVG(round(to_number(EXE_DT_FIN - EXE_DT_DEM)*1440)) as AVERAGE
    FROM BASEQ.BQ_EXECUTION
    Et en même temps je veux sortir les temps d’exécution récents :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT (round(to_number(EXE_DT_FIN - EXE_DT_DEM)*1440)) AS DUREE
    FROM BASEQ.BQ_EXECUTION
    WHERE EXE_DT_DEM > SYSDATE-1
    Je cherche désespérément mais je ne trouve pas de moyen d'avoir les résultats en une fois.

    Les vraies requêtes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT TACTAC_PLA_CODE, TRT_CODE, TRT_DESI,  
    AVG(round(to_number(EXE_DT_FIN - EXE_DT_DEM)*1440)) as AVERAGE
    FROM BASEQ.BQ_TRAITEMENT, BASEQ.BQ_TAC_TAC, BASEQ.BQ_EXECUTION 
    WHERE TRT_CODE = TACTAC_TRT_CODE AND EXE_TAC_TRT_CODE = TRT_CODE AND TRT_INT_IDENT_LR='O' AND EXE_TAC_TRT_CODE = TRT_CODE AND EXE_TAC_TRT_CODE = TRT_CODE
    GROUP BY EXE_TAC_TRT_CODE,TACTAC_PLA_CODE, TRT_CODE, TRT_DESI,EXE_DT_FIN , EXE_DT_DEM
     
     
     
    SELECT TACTAC_PLA_CODE, TRT_CODE, TRT_DESI,  
    (round(to_number(EXE_DT_FIN - EXE_DT_DEM)*1440)) AS DUREE,
    FROM BASEQ.BQ_TRAITEMENT, BASEQ.BQ_TAC_TAC, BASEQ.BQ_EXECUTION 
    WHERE TRT_CODE = TACTAC_TRT_CODE AND EXE_TAC_TRT_CODE = TRT_CODE AND TRT_INT_IDENT_LR='O' AND EXE_TAC_TRT_CODE = TRT_CODE AND EXE_TAC_TRT_CODE = TRT_CODE AND EXE_DT_DEM > SYSDATE-1 
    GROUP BY EXE_TAC_TRT_CODE,TACTAC_PLA_CODE, TRT_CODE, TRT_DESI,EXE_DT_FIN , EXE_DT_DEM

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    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 453
    Points : 18 383
    Points
    18 383
    Par défaut
    L'idée générale, c'est de faire quelque chose ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT AVG(round(to_number(EXE_DT_FIN - EXE_DT_DEM)*1440)) AS AVERAGE
         , CASE
             WHEN EXE_DT_DEM > SYSDATE-1
             THEN (round(to_number(EXE_DT_FIN - EXE_DT_DEM)*1440))
           END AS DUREE
      FROM BASEQ.BQ_EXECUTION;

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 412
    Points : 807
    Points
    807
    Par défaut
    Et un UNION ALL, ca ne couvrirait pas votre besoin?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    TMP@minilhc >select avg(n),'moyenne' from tmp union all select n,'unique' from tmp order by 2,1;
     
        AVG(N) 'MOYENNE'
    ---------- -------
             5 moyenne
             1 unique
             2 unique
             3 unique
             4 unique
             5 unique
             6 unique
             7 unique
             8 unique
             9 unique

Discussions similaires

  1. IE ne laisse pas le temps d'afficher toutes les miniatures
    Par charlyy dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 15/01/2010, 13h41
  2. Réponses: 15
    Dernier message: 01/11/2007, 13h47
  3. Réponses: 0
    Dernier message: 16/10/2007, 11h42
  4. Réponses: 1
    Dernier message: 17/05/2007, 12h29
  5. Réponses: 8
    Dernier message: 24/08/2006, 12h47

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