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

бърз произволен избор на ред в Postgres

Може да искате да експериментирате с OFFSET , както в

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

N е броят на редовете в mytable . Може да се наложи първо да направите SELECT COUNT(*) за да разберете стойността на N .

Актуализиране (от Антони Хачкинс)

Трябва да използвате floor тук:

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

Помислете за таблица от 2 реда; random()*N генерира 0 <= x < 2 и например SELECT myid FROM mytable OFFSET 1.7 LIMIT 1; връща 0 реда поради имплицитно закръгляване до най-близкото цяло.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Избройте всички имена на индекси, имена на колони и името на таблицата на PostgreSQL база данни

  2. Как ефективно да избера предишната ненулева стойност?

  3. Множество генератори на последователности за хибернация за един обект с PostgreSQL

  4. Как да изброите външни ключове на таблицата

  5. PostgreSQL - как да изобразя дата в различна часова зона?