sql >> Database >  >> RDS >> PostgreSQL

snelle willekeurige rijselectie in Postgres

Misschien wilt u experimenteren met OFFSET , zoals in

SELECT myid FROM mytable OFFSET floor(random() * N) LIMIT 1;

De N is het aantal rijen in mytable . Mogelijk moet u eerst een SELECT COUNT(*) . doen om de waarde van N . te achterhalen .

Bijwerken (door Antony Hatchkins)

U moet floor gebruiken hier:

SELECT myid FROM mytable OFFSET floor(random() * N) LIMIT 1;

Overweeg een tabel van 2 rijen; random()*N genereert 0 <= x < 2 en bijvoorbeeld SELECT myid FROM mytable OFFSET 1.7 LIMIT 1; retourneert 0 rijen vanwege impliciete afronding naar dichtstbijzijnde int.



  1. Migratie van Oracle Database naar MariaDB - een diepe duik

  2. dubbele resultaten in mijn array ( mysql_fetch_array )

  3. Hoe stel ik het geselecteerde item in een vervolgkeuzelijst in?

  4. Is er voor een beginner veel verschil tussen MySQL en PostgreSQL?