J'ai un fichier journal dans SqlServer qui stocke l'heure à laquelle une application a démarré, l'heure à laquelle l'application est prête (chargement terminé), et le temps qu'il est sorti. Chacun d'eux se présente comme une entrée séparée. Le format (et les données de l'échantillon) comme suit:Méthode de détermination de la différence de temps entre un "groupe" d'enregistrements via SQL
Date/Time User Type Application Message
2009-11-03 12:26:12.403 uname1 Info app1 Started
2009-11-03 12:26:22.403 uname1 Info app1 Loaded
2009-11-03 12:27:15.403 uname2 Info app1 Started
2009-11-03 12:27:16.401 uname1 Info app1 Exited
2009-11-03 12:27:18.403 uname2 Info app1 Loaded
2009-11-03 12:29:12.403 uname2 Info app1 Exited
Je voudrais savoir, par application et par utilisateur, la quantité de temps qu'il a fallu pour l'application pour obtenir un prêt et que la quantité de l'heure de fonctionnement de l'application. Ce serait un morceau de gâteau si chaque date/heure était dans le même enregistrement, et il serait également facile (quoique fastidieux) de simplement charger chaque enregistrement comme un curseur et passer au crible les données, mais je pensais qu'il doit y avoir un moyen de le faire "correctement" d'une manière théorique.
Donc, je le répète, la sortie suivante (à partir des données de l'échantillon ci-dessus) sera prévu (les chiffres sont en quelques secondes, arrondi):
User Application Ready Uptime
uname1 app1 10 64
uname2 app1 3 117
Toutes les suggestions?
EDIT: La bonne nouvelle est que l'application ne peut être démarrée qu'une seule fois. MAIS, le journal ne pas prendre en compte si l'application s'est écrasé (bien que je suppose que je pourrais rechercher "sorti" et "écrasé" comme conditions finales).
Aussi hideux que cela soit, cela fonctionne vraiment. Et cela n'a pris que 2 secondes de temps serveur pour l'attraper. Merci. –
Merci beaucoup pour cela. J'essayais de trouver de nombreuses méthodes pour résoudre ce problème et j'étais sur le point de lever la main et d'écrire un programme pour le faire. C'est beaucoup plus facile et plus rapide. –
wellll ... merci beaucoup pour le commentaire hideux (je plaisante!) Vous êtes les bienvenus! –