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 BY
ró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ę?