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

Как да създадете някакъв вид итератор (или изкуствен идентификатор) за даден набор от редове?

Трябва да можете да използвате row_number() (което е прозоречна функция ), за да зададете "итератора", който искате. Това ще създаде пореден номер за всеки ред:

select *
from
(
  select col,
     row_number() over(order by col) rn
  from yourtable
) src
order by random()

Вижте SQL Fiddle с демонстрация



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Стъпки за отстраняване на неизправности django.db.utils.ProgrammingError:разрешението е отказано за релация django_migrations

  2. n-ти процентил изчисления в postgresql

  3. Как да зададете часова зона за Postgres 9.4 за постоянно

  4. PostgreSQL:SELECT WHERE по-малко от 15 минути

  5. Промяна на началната стойност на сериал - Postgresql