aggregations_leadlag.sql 571 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 (ORDER BY value ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING),
  12. w2 as (PARTITION BY key ORDER BY value DESC ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
  13. ORDER BY value;