session_compact.sql 353 B

12345678910111213141516
  1. /* syntax version 1 */
  2. /* postgres can not */
  3. SELECT
  4. user,
  5. ts,
  6. payload,
  7. AGGREGATE_LIST(ts) over w as ts_session,
  8. COUNT(1) over w as session_len,
  9. FROM plato.Input
  10. WINDOW w AS (
  11. PARTITION COMPACT BY user, SessionWindow(ts, 10)
  12. ORDER BY ts
  13. ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
  14. )
  15. ORDER BY user, payload;