私の奇妙な状況を説明するために最善を尽くします。10 分の 1 秒単位で記録された大量のデータがあります。イベントは、時間 X からほぼ毎秒発生します。毎秒は「イベント ウィンドウ」と見なされます。ログに記録された時間は、X からの経過時間です。最初のレコードを「シード」として使用すると、X から 1 秒ごとのウィンドウに記録された最初のレコードのみを返す必要があります。X+1、X+2、X+3 、X+4 など
targets
--------------------------
| id | time | name |
|-----|------ |-----------
| 1 | 1.0 | target01 |
| 2 | 1.1 | target01 |
| 3 | 1.2 | target01 |
| 4 | 1.3 | target01 |
| 5 | 1.4 | target01 |
| 6 | 1.5 | target01 |
| 7 | 1.6 | target01 |
| 8 | 1.7 | target01 |
| 9 | 1.8 | target01 |
| 10 | 1.9 | target01 |
| 11 | 2.0 | target01 |
| 12 | 2.1 | target01 |
| 13 | 2.2 | target01 |
...
| 50 | 4.9 | target01 |
| 51 | 5.3 | target01 |
| 52 | 5.4 | target01 |
| 53 | 5.5 | target01 |
| 54 | 5.6 | target01 |
| 55 | 5.7 | target01 |
| 56 | 5.8 | target01 |
| 57 | 5.9 | target01 |
| 58 | 6.0 | target01 |
| 59 | 6.1 | target01 |
| 60 | 6.2 | target01 |
| 61 | 6.3 | target01 |
| 62 | 6.4 | target01 |
--------------------------
見返りにこれを取得するにはどうすればよいですか:
--------------------------
| id | time | name |
|-----|------ |-----------
| 1 | 1.0 | target01 |
| 11 | 2.0 | target01 |
| 21 | 3.0 | target01 |
| 31 | 4.0 | target01 |
| 51 | 5.3 | target01 |
| 58 | 6.0 | target01 |
--------------------------
レコード 51 が 5.3 秒であることに注意してください。その 4 秒のウィンドウ (X+4) 内に収まる最初のレコードです。
恐ろしいデータベース計画ですが、混乱を継承するのに行き詰まっています。考え?