select distinct on (id) id, attribute
from like_this
order by id, random()
Si solo necesita la columna de atributos:
select distinct on (id) attribute
from like_this
order by id, random()
Tenga en cuenta que todavía necesita ordenar por id
primero ya que es una columna del distinct on
.
Si solo desea los atributos distintos:
select distinct attribute
from (
select distinct on (id) attribute
from like_this
order by id, random()
) s