session_aliases.sql 514 B

1234567891011121314151617181920212223
  1. /* syntax version 1 */
  2. /* postgres can not */
  3. SELECT
  4. user,
  5. ts,
  6. SessionStart() over w1 as ss1,
  7. SessionStart() over w as ss,
  8. AGGREGATE_LIST(ts) over w as ts_session,
  9. COUNT(1) over w as session_len,
  10. FROM plato.Input
  11. WINDOW w AS (
  12. PARTITION BY user, SessionWindow(ts, 10) as ss0
  13. ORDER BY ts
  14. ROWS BETWEEN 10 PRECEDING AND 10 FOLLOWING
  15. ),
  16. w1 AS (
  17. PARTITION BY SessionWindow(ts, 10), user
  18. ORDER BY ts
  19. ROWS BETWEEN 100 PRECEDING AND 100 FOLLOWING
  20. )
  21. ORDER BY user, ts;