PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

изберете максимални и минимални стойности на всеки x брой редове-postgresql

Можете да обобщите фиксиран брой редове, като използвате row_number() и аритметика:

select min(date),
       (array_agg(bid order by seqnum asc))[1] as open,
       (array_agg(bid order by seqnum desc))[1] as close,
       min(bid) as min_bid, max(bid) as max_bid
from (select t.*, row_number() over (order by date) as seqnum
      from ticks t
     ) t
group by floor((seqnum - 1) / 500);

Това използва "хак", за да получи open и close -- чрез използване на масиви.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Какво се случи с NpgsqlCopySerialize и NpgsqlCopyIn

  2. Postgres Бавно групиране по заявка с макс

  3. Как да анализирам JSON в postgresql

  4. Защо сериализируемата транзакция на PostgreSQL смята това за конфликт?

  5. премахване на нецифрови знаци в колона (променлив знак), postgresql (9.3.5)