Ho una tabella su pgsql con nomi (con più di 1 milione di righe), ma ho anche molti duplicati. Seleziono 3 campi: id
, name
, metadata
.Postgres: distinto ma solo per una colonna
Voglio selezionarli a caso con ORDER BY RANDOM()
e LIMIT 1000
, quindi faccio questo è molti passaggi per risparmiare un po 'di memoria nel mio script PHP.
Ma come posso farlo in modo che mi dia solo una lista senza duplicati nei nomi.
Ad esempio [1,"Michael Fox","2003-03-03,34,M,4545"]
verrà restituito ma non [2,"Michael Fox","1989-02-23,M,5633"]
. Il campo del nome è il più importante e deve essere univoco nell'elenco ogni volta che eseguo la selezione e deve essere casuale.
ho provato con GROUP BY name
, BU quindi si aspetta me avere id e metadati nel GROUP BY
come bene o in una funzione aggragate, ma io non voglio avere in qualche modo filtrati.
Qualcuno sa come recuperare molte colonne ma solo una distinta su una colonna?
Buona cattura all'ordine. Non l'ho incluso perché hanno menzionato la necessità di un ordinamento casuale, ma è importante menzionarlo comunque. –
sì, l'ordine è anche importante, grazie. – NovumCoder
È richiesto l'ordine per nome? Produrrebbe un risultato diverso con 'order by col1'? –