Saya memiliki tabel di pgsql dengan nama (memiliki lebih dari 1 juta baris), tetapi saya juga memiliki banyak duplikat. Saya pilih 3 bidang: id
, name
, metadata
.
Saya ingin memilihnya secara acak dengan ORDER BY RANDOM()
dan LIMIT 1000
, jadi yang saya lakukan ini adalah banyak langkah untuk menghemat memori dalam skrip PHP saya.
Tetapi bagaimana saya bisa melakukannya sehingga hanya memberi saya daftar yang tidak memiliki duplikat dalam nama.
Misalnya [1,"Michael Fox","2003-03-03,34,M,4545"]
akan dikembalikan tapi tidak [2,"Michael Fox","1989-02-23,M,5633"]
. Bidang nama adalah yang paling penting dan harus unik dalam daftar setiap kali saya memilih dan harus acak.
Saya mencoba dengan GROUP BY name
, tapi itu mengharapkan saya untuk memiliki id dan metadata di GROUP BY
juga atau dalam fungsi aggragate, tetapi saya tidak ingin mereka entah bagaimana difilter.
Adakah yang tahu cara mengambil banyak kolom tetapi hanya melakukan yang berbeda pada satu kolom?