Requête SQL : récupérer le temps écoulé pour la sélection (timestamp)
Bonjour,
Je poste ici après pas mal de recherche car j'ai un problème de requête SQLServer 2005.
J'effectue une requête sur la table, bornée par un timestamp. C'est de la forme :
Code:
SELECT champ1, champ2 FROM matable WHERE timestamp > 'montimestamp1' AND timestamp < 'montimestamp2'
Je voudrais aussi, en plus d'obtenir toutes les valeurs (il y en a une par minute) connaître le temps, en minutes, qui s'est écoulé sur l'ensemble de la période sélectionnée. Je pourrais compter les enregistrements mais quand je disais "une par minute", ce n'est pas totalement vrai donc je ne peux pas prendre ça comme repère.
Du coup, j'ai créé cette requête :
Code:
1 2 3 4 5 6 7
|
SELECT
TOP 1 DATEDIFF(
mi,
(SELECT TOP 1 Time_Stamp FROM DATA_Server1_#1 WHERE Time_Stamp > '10/01/2012 00:00:00' AND Time_Stamp < '10/02/2012 00:00:00'),
(SELECT TOP 1 Time_Stamp FROM DATA_Server1_#1 WHERE Time_Stamp > '10/01/2012 00:00:00' AND Time_Stamp < '10/02/2012 00:00:00' ORDER BY Time_Stamp DESC) )
FROM DATA_Server1_#1 |
Elle me renvoie bien le nombre de minutes entre les deux intervalles donc tout va bien.
SAUF ! Qu'en plus de ça il y a des coupures. C'est à dire que je dois enlever les périodes de temps ou l'un des champs est hors limites (par exemple, monChamp < 800). Et ça, je n'arrive pas à le faire à partir de ma requête actuelle. Je suis peut-être parti dans la mauvaise direction avec mon DATEDIFF...
Quelqu'un aurait-il la solution ?
Merci d'avance !