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

Wybierz losowy wiersz dla każdej grupy

select distinct on (id) id, attribute
from like_this
order by id, random()

Jeśli potrzebujesz tylko kolumny atrybutów:

select distinct on (id) attribute
from like_this
order by id, random()

Zauważ, że nadal musisz zamawiać według id najpierw, ponieważ jest to kolumna distinct on .

Jeśli potrzebujesz tylko odrębnych atrybutów:

select distinct attribute
from (
    select distinct on (id) attribute
    from like_this
    order by id, random()
) s


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak obliczyć percentyl w PostgreSQL

  2. Nie można usunąć bazy danych

  3. Wdrażanie i konserwacja PostgreSQL z Ansible

  4. Śledzenie wysokiej dostępności PostgreSQL za pomocą funkcji Heartbeat

  5. Błąd:brak modułu o nazwie psycopg2.extensions