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 :

Connaitre la durée d'un evenement


Sujet :

SQL Firebird

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 291
    Par défaut Connaitre la durée d'un evenement
    Bonjour,

    J'ai la table suivante :

    ID DEBUT CODE
    -----------------------------------------------------------------
    439559 01/04/2010 07:01:45 10
    439558 01/04/2010 07:02:33 0
    439533 01/04/2010 07:05:49 10
    439532 01/04/2010 07:06:37 0
    439557 01/04/2010 07:17:33 10
    439556 01/04/2010 07:18:22 0

    Je voudrais connaitre la durée et l'occurence des evenements 10 par exemple:

    Durée= (07:02:33-07:01:45)+(07:06:37-07:05:49)+(07:18:22-07:17:33)
    Occurence=3

    Comment pourrais je faire ca en SQL?

    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 593
    Billets dans le blog
    65
    Par défaut
    Occurrence :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT COUNT(*) FROM TABLE WHERE CODE='10'
    pour la durée cela semble beaucoup plus compliquée , la structure de la table est loin d'être idéale

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 291
    Par défaut
    Bonjour SergioMaster,

    Pour l'occurence pas de pb mais je suis aussi bloqué sur la durée

    Amitiés

  4. #4
    Membre Expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Par défaut
    voilà le début de la solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT COUNT(*),MIN(DEBUT),MAX(DEBUT) FROM TABLE WHERE CODE='10'
    je te laisse deviner la suite et te laisse adapter selon que tu veux le résultat en jours, en mois, en heures, en minutes ou en secondes

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 593
    Billets dans le blog
    65
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    la structure de la table est loin d'être idéale
    c'est un peu bilboque ta structure non ?
    on ne sait pas a priori si le code 0 correspond au début d'un évènement de code 10

    il faudrait revoir ça

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 291
    Par défaut
    Bonjour Philippe,


    Je ne comprends pas trop comment je peux calculer la durée des evements '10' comme celà

    Si tu pouvais m'en dire plus?

    Merci

  7. #7
    Membre Expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Par défaut
    qu'exprime tu dans le champs DEBUT ?

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 291
    Par défaut
    Le champ DEBUT représente la date et l'heure de l'apparition d'un CODE X
    Si on prend cet exemple :
    439559 01/04/2010 07:01:45 10
    439558 01/04/2010 07:02:33 0

    Le code 10 est apparu le 1er avril 2010 à 7h01'45'' et il a disparu le meme jour à 7h02 et 33".
    Il pourra réaparaitre à 11h etc..

  9. #9
    Membre Expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Par défaut
    et c'est quoi qui caractérise une apparition ou une disparition ?
    et c'est quoi du coup la "durée" d'un événement ?

    c'est pas très clair pour moi ce que tu stocke, comment tu le caractérise en ce que tu veux comptabiliser

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 291
    Par défaut
    Et bien justement. La durée n'est pas comptabilisée
    Je voulais savoir si c'était possible de l'extraire en SQL telle que la table était faite sachant qu'on connait l'heure d'apparition et l'heure de disparition du code.

    La durée est donc la somme des (heures de disparition - les heures d'apparitions) comme le montre mon 1er exemple.
    Avec :
    heure de disparition=1er enregistrement chronologique qui suit un enregistrement où CODE=:code (10 dans l'exemple)
    Heure d'apparition=Enregistrement avec CODE=:code (10 dans l'exemple)

    Merci

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 291
    Par défaut
    Merci philippe

    Je regarde ca attentivement

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

Discussions similaires

  1. simuler un import pour en connaitre la durée
    Par gold15 dans le forum Import/Export
    Réponses: 5
    Dernier message: 28/03/2010, 11h08
  2. Evenement pour connaitre la fermeture d'un PDF
    Par Loubna.B dans le forum C#
    Réponses: 4
    Dernier message: 02/10/2009, 13h34
  3. Connaitre le nom de l'objet à lorigine d'un evenement
    Par icicmoi dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 02/09/2008, 15h43
  4. connaitre la durée d'une animation avec action script
    Par edzodzinam dans le forum Flash
    Réponses: 4
    Dernier message: 15/07/2008, 11h07
  5. Réponses: 6
    Dernier message: 22/12/2005, 07h59

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