Eu tenho uma tabela no pgsql com nomes (com mais de 1 milhão de linhas), mas também tenho muitas duplicatas. Eu seleciono 3 campos: id
, name
, metadata
.
Quero selecioná-los aleatoriamente com ORDER BY RANDOM()
e LIMIT 1000
, por isso, faço várias etapas para economizar memória no meu script PHP.
Mas como posso fazer isso para que apenas me dê uma lista sem duplicatas nos nomes.
Por exemplo [1,"Michael Fox","2003-03-03,34,M,4545"]
, será retornado, mas não [2,"Michael Fox","1989-02-23,M,5633"]
. O campo de nome é o mais importante e deve ser exclusivo na lista sempre que eu faço a seleção e deve ser aleatório.
Eu tentei com GROUP BY name
, mas espera que eu tenha id e metadados na GROUP BY
função também ou em uma função agregada, mas não quero tê-los de alguma forma filtrados.
Alguém sabe como buscar muitas colunas, mas faz apenas uma distinta em uma coluna?