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

WYBIERZ ustaloną liczbę rzędów poprzez równomierne pomijanie rzędów

Błąd w pierwszej próbie polega na tym, że nie możesz mieszać funkcji agregującej count(*) z niezagregowanym wybór rzędów. Możesz to naprawić, używając count() zamiast tego jako funkcja agregująca okna:

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;

Szczegółowe wyjaśnienie tutaj:

@Alexander ma poprawkę na ostatnią próbę.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. heroku, postgreSQL, django, komentarze, deliciouspie:Żaden operator nie pasuje do podanej nazwy i typu argumentu. Może być konieczne dodanie wyraźnych rzutów typu

  2. Złożone zapytanie SQL z wieloma tabelami i relacjami

  3. postgres tylko przy użyciu posortowanego indeksu do odpytywania tabeli rekordów 5m

  4. Importujesz schemat xml do postgres, aby automatycznie utworzyć tabelę, a następnie wypełnić ją plikiem xml?

  5. Django:otrzymuję błąd [relacja auth_group nie istnieje] po synchronizacji