PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

wybierz maksymalne i minimalne wartości co x ilość wierszy-postgresql

Możesz agregować stałą liczbę wierszy za pomocą row_number() i arytmetyka:

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);

Używa "hack", aby uzyskać open i close -- za pomocą tablic.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. hasMany wywołało coś, co nie jest instancją Sequelize.Model

  2. PG::DuplicateTable:BŁĄD:posty relacji już istnieją

  3. Dlaczego planista przedstawia różne wyniki dla funkcji o różnych zmiennościach?

  4. Uzyskaj zagnieżdżony obiekt w strukturze w gorm

  5. Jak skopiować dane z jednej tabeli do drugiej w postgresie za pomocą polecenia kopiowania?