名前(1 mio。行を超える)を持つpgsqlのテーブルがありますが、重複も多数あります。私は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"]
。名前フィールドは最も重要であり、selectを実行するたびにリスト内で一意である必要があり、ランダムである必要があります。
私はGROUP BY name
bu を試してみましたが、idとメタデータがGROUP BY
同様にまたはaggragate関数にあると想定していますが、何らかの方法でそれらをフィルタリングしたくありません。
誰もが多くの列をフェッチする方法を知っていますが、1つの列でのみ区別しますか?