Mam tabelę na pgsql z nazwami (mającą więcej niż 1 mln wierszy), ale mam też wiele duplikatów. I wybrać 3 pola: id, name, metadata.
Chcę je wybierać losowo za pomocą ORDER BY RANDOM()i LIMIT 1000, więc robię to wiele kroków, aby zaoszczędzić trochę pamięci w moim skrypcie PHP.
Ale jak mogę to zrobić, aby uzyskać tylko listę, która nie ma duplikatów w nazwach.
Na przykład [1,"Michael Fox","2003-03-03,34,M,4545"]zostanie zwrócony, ale nie [2,"Michael Fox","1989-02-23,M,5633"]. Pole nazwy jest najważniejsze i musi być unikalne na liście za każdym razem, gdy dokonuję wyboru, i musi być losowe.
Próbowałem z GROUP BY name, ale oczekuje, że będę mieć identyfikator i metadane GROUP BYrównież lub w funkcji agregującej, ale nie chcę, aby były w jakiś sposób filtrowane.
Każdy wie, jak pobrać wiele kolumn, ale tylko wyróżnić jedną kolumnę?