| TimeStamp | USER ID | string_col |
|---|---|---|
| 1 | 100001 | Here |
| 2 | 100001 | there |
| 5 | 100001 | Apple |
| 1 | 200002 | this is |
| 2 | 200002 | that is |
| 3 | 200002 | Apple |
| 4 | 200002 | some |
| 5 | 200002 | summer |
| 6 | 200002 | winter |
| 8 | 200002 | Apple |
| 9 | 200002 | Apple |
That is my raw table & I want to use the word "Apple" as a trigger word to concatenate rows with difference in timestamp lesser 4 from the Apple's timestamp for every userID.
Below table is the output I'm looking for:
| TimeStamp | USER ID | string_col | Result |
|---|---|---|---|
| 1 | 100001 | Here | null |
| 2 | 100001 | there | null |
| 5 | 100001 | Apple | there |
| 1 | 200002 | this is | null |
| 2 | 200002 | that is | null |
| 3 | 200002 | Apple | this is that is |
| 4 | 200002 | some | null |
| 5 | 200002 | summer | null |
| 6 | 200002 | winter | null |
| 8 | 200002 | Apple | summer winter |
| 9 | 200002 | Apple | winter |

Try this code:
And the output is
