PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wählen Sie für jede Gruppe eine zufällige Zeile aus

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

Wenn Sie nur die Attributspalte benötigen:

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

Beachten Sie, dass Sie immer noch nach id bestellen müssen erstens, da es sich um eine Spalte des distinct on handelt .

Wenn Sie nur die eindeutigen Attribute wollen:

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