我在 pgsql 上有一个名称超过1mio 的表。行) ,但我也有许多重复的。我选择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"]
。Name 字段是最重要的,并且每次选择时必须在列表中是唯一的,而且必须是随机的。
我试过使用 GROUP BY name
,但它希望我在 GROUP BY
中也包含 id 和元数据,或者在聚合函数中包含元数据,但是我不希望以某种方式对它们进行过滤。
有人知道如何获取多个列,但只在一个列上执行不同的操作吗?