0
votes

Comment détecter un intervalle entre des rangées consécutives?

Considérons les lignes suivantes:

Id   RecordedOn         
1    9/3/19 11:15:00    
2    9/3/19 11:15:01    
3    9/3/19 11:15:02    
4    9/3/19 11:18:55    
5    9/3/19 11:18:01    


0 commentaires

3 Réponses :


1
votes

sql démo strong> xxx Pré>

Sortie forte> P>

| Id |           RecordedOn |             previous |   diff |
|----|----------------------|----------------------|--------|
|  1 | 2019-09-03T11:15:00Z |               (null) | (null) |
|  2 | 2019-09-03T11:15:01Z | 2019-09-03T11:15:00Z |      1 |
|  3 | 2019-09-03T11:15:02Z | 2019-09-03T11:15:01Z |      1 |
|  5 | 2019-09-03T11:18:01Z | 2019-09-03T11:15:02Z |    179 |
|  4 | 2019-09-03T11:18:55Z | 2019-09-03T11:18:01Z |     54 |


0 commentaires

1
votes

Vous pouvez vous aider à rejoindre la table avec un Joindre de gauche Code> Anti-motif pour présenter des enregistrements pour lesquels aucun enregistrement n'existe 1 seconde plus tard, comme:

| id |
| -: |
|  3 |
|  4 |
|  5 |


0 commentaires

2
votes

Si vous souhaitez les deux lignes avant et après, utilisez lag () et lead () : xxx


0 commentaires