session_aliases.sql 431 B

123456789101112131415161718192021
  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. ),
  15. w1 AS (
  16. PARTITION BY SessionWindow(ts, 10), user
  17. ORDER BY ts
  18. )
  19. ORDER BY user, ts, session_len;