У меня есть таблица на pgsql с именами (имеющая более 1 миллиона строк), но у меня также есть много дубликатов. Я выбираю 3 поля: id
, name
, metadata
.
Я хочу выбрать их случайным образом с помощью ORDER BY RANDOM()
и LIMIT 1000
, поэтому я делаю это много шагов, чтобы сэкономить немного памяти в моем скрипте PHP.
Но как я могу это сделать, чтобы он давал мне только список, не имеющий дубликатов в именах.
Например [1,"Michael Fox","2003-03-03,34,M,4545"]
будет возвращено, но нет [2,"Michael Fox","1989-02-23,M,5633"]
. Поле имени является наиболее важным и должно быть уникальным в списке каждый раз, когда я выбираю, и оно должно быть случайным.
Я пробовал с GROUP BY name
, но тогда он ожидает, что у меня будут идентификатор и метаданные GROUP BY
также или в функции aggragate, но я не хочу, чтобы они как-то фильтровались.
Кто-нибудь знает, как получить много столбцов, но сделать только отдельный столбец?