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

ИЗБЕРЕТЕ фиксиран брой редове чрез равномерно прескачане на редове

Грешката при първия ви опит е, че не можете да смесите агрегатната функция count(*) с необобщено избор на редове. Можете да коригирате това, като използвате count() вместо това като агрегатна функция за прозорец:

SELECT * FROM (
   SELECT *, ((row_number() OVER (ORDER BY "time"))
               % ceil(count(*) OVER () / 500.0)::int) AS rn
   FROM   data_raw
   ) sub
WHERE sub.rn = 0;

Подробно обяснение тук:

@Alexander има поправка за последния ви опит.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да генерирам CREATE скрипт за няколко таблици в pgAdmin III?

  2. КОПИРАНЕ само на някои колони от въведен CSV?

  3. PHP\HTML скрипт за автоматично попълване на полетата на формуляра, когато даден елемент е избран от падащ списък

  4. Колко записа мога да съхранявам в 5 MB PostgreSQL на Heroku?

  5. Вземете последния ден от месеца в PostgreSQL