select distinct on (id) id, attribute
from like_this
order by id, random()
Se você precisar apenas da coluna de atributo:
select distinct on (id) attribute
from like_this
order by id, random()
Observe que você ainda precisa fazer o pedido por
id
primeiro, pois é uma coluna do distinct on
. Se você quiser apenas os atributos distintos:
select distinct attribute
from (
select distinct on (id) attribute
from like_this
order by id, random()
) s