2017-09-26 1 views

Répondre

0

Une méthode est une différence de numéros de ligne:

select wp_object, min(wp_time) as startdate, max(wp_time) as enddate 
from (select t.*, 
      row_number() over (order by wp_time) as seqnum, 
      row_number() over (partition by wp_object order by wp_time) as seqnum_o 
     from t 
    ) t 
group by wp_object, (seqnum - seqnum_o) 
order by min(wp_time); 

Pour avoir une idée de la façon dont cela fonctionne, exécutez la sous-requête et regarder les seqnum colonnes. Vous verrez comment la différence définit les groupes que vous voulez.

+0

Merci Gordon, votre réponse est utile. Mais les résultats ont trop de lignes de début et de fin datetime toutes les 2 minutes. Si je veux faire une simple ligne à partir du résultat, directement à la dernière heure de fin, comment dois-je faire? – Melvinsoft

+0

@Melvinsoft. . . Je crois que cela répond à la question que vous avez posée. Cela devrait produire trois lignes pour l'entrée que vous avez spécifiée. Si oui, la question est répondue. Une nouvelle question devrait être posée comme une question, pas un commentaire. –

+0

Merci beaucoup Gordon ... la question est actuellement répondu. – Melvinsoft