Dashboard sipadu mbip
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

window-functions.txt 1.2KB

1234567891011121314151617181920212223242526272829303132333435
  1. -- window functions
  2. -- frame clause:
  3. RANGE UNBOUNDED PRECEDING EXCLUDE CURRENT ROW,
  4. RANGE 10 PRECEDING EXCLUDE GROUP,
  5. RANGE CURRENT ROW EXCLUDE TIES,
  6. RANGE 10 FOLLOWING EXCLUDE NO OTHERS,
  7. RANGE UNBOUNDED FOLLOWING,
  8. RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW;
  9. ROWS UNBOUNDED PRECEDING EXCLUDE CURRENT ROW,
  10. ROWS 10 PRECEDING EXCLUDE GROUP,
  11. ROWS CURRENT ROW EXCLUDE TIES,
  12. ROWS 10 FOLLOWING EXCLUDE NO OTHERS,
  13. ROWS UNBOUNDED FOLLOWING,
  14. ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW;
  15. GROUPS UNBOUNDED PRECEDING EXCLUDE CURRENT ROW,
  16. GROUPS 10 PRECEDING EXCLUDE GROUP,
  17. GROUPS CURRENT ROW EXCLUDE TIES,
  18. GROUPS 10 FOLLOWING EXCLUDE NO OTHERS,
  19. GROUPS UNBOUNDED FOLLOWING,
  20. GROUPS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW;
  21. -- examples
  22. SELECT string_agg(empno, ',' ORDER BY a) FROM empsalary;
  23. SELECT percentile_cont(0.5) WITHIN GROUP (ORDER BY income) FROM households;
  24. SELECT count(*) FILTER (WHERE i < 5) FROM generate_series(1,10) AS s(i);
  25. SELECT depname, empno, salary, avg(salary) OVER (PARTITION BY depname) FROM empsalary;
  26. SELECT salary, sum(salary) OVER (ORDER BY salary) FROM empsalary;
  27. SELECT sum(salary) OVER w, avg(salary) OVER w
  28. FROM empsalary
  29. WINDOW w AS (PARTITION BY depname ORDER BY salary DESC);