sql >> Database >  >> RDS >> PostgreSQL

SELECTEER een vast aantal rijen door rijen gelijkmatig over te slaan

De fout bij uw eerste poging is dat u de aggregatiefunctie count(*) . niet kunt combineren met de niet-geaggregeerde selectie van rijen. U kunt dit oplossen door count() . te gebruiken als venster-aggregaatfunctie in plaats daarvan:

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;

Gedetailleerde uitleg hier:

@Alexander heeft een oplossing voor je laatste poging.



  1. Hoe schakel ik autocommit uit voor een MySQL-client?

  2. converteer lijst naar string om in mijn sql in één rij in python scrapy in te voegen

  3. Inloggen veiliger maken

  4. Hoe GROUP_CONCAT te gebruiken in een CONCAT in MySQL