Ho una tabella che è più o meno:Selezionare riga casuale per ogni gruppo in una tabella postgres
id | category | link | caption | image
Il mio obiettivo è quello di recuperare una riga a caso da ogni categoria distinta nella tabella, per tutte le categorie del tavolo. Il piano è quindi di assegnare ciascuna riga a una variabile per la rispettiva categoria.
In questo momento sto utilizzando più istruzioni SELECT che assomigliano:
SELECT link, caption, image FROM table WHERE category='whatever' ORDER BY RANDOM() LIMIT 1
Ma questo sembra poco elegante e crea più viaggi al DB, che è costoso.
Sono sicuro che c'è un modo per farlo con le funzioni di finestra in Postgres, ma non ho esperienza con loro e non sono del tutto sicuro di come usarne uno per ottenere ciò che voglio.
Grazie per qualsiasi aiuto!
Eccellente! Entrambi sembrano funzionare per i miei scopi. Grazie! – Steve