Dashboard sipadu mbip
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

window-functions.expect.txt 5.5KB

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