aggregations_leadlag.sql 567 B

123456789101112131415
  1. /* syntax version 1 */
  2. /* postgres can not */
  3. SELECT
  4. value,
  5. SUM(unwrap(cast(subkey as uint32))) over w1 as sum1,
  6. LEAD(value || value, 3) over w1 as dvalue_lead1,
  7. SUM(cast(subkey as uint32)) over w2 as sum2,
  8. LAG(cast(value as uint32)) over w2 as value_lag2,
  9. FROM (SELECT * FROM plato.Input WHERE key = '1')
  10. WINDOW
  11. w1 as (PARTITION BY key ORDER BY value ROWS BETWEEN UNBOUNDED PRECEDING AND 3 PRECEDING),
  12. w2 as (PARTITION BY key ORDER BY value ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING)
  13. ORDER BY value;