123456789101112131415161718192021 |
- /* syntax version 1 */
- /* postgres can not */
- USE plato;
- -- add non-optional partition key
- $src = SELECT t.*, user ?? "u0" as user_nonopt FROM Input as t;
- SELECT
- user,
- user_nonopt,
- ts,
- payload,
- AGGREGATE_LIST(TableRow()) over w as full_session,
- COUNT(1) over w as session_len,
- FROM $src
- WINDOW w AS (
- PARTITION BY user, user_nonopt, SessionWindow(ts, 10)
- ORDER BY ts
- ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
- )
- ORDER BY user, payload;
|