Mam tabeli, która jest grubsza:Wybierz losowy wiersz dla każdej grupy w tabeli postgres
id | category | link | caption | image
Moim celem jest, aby pobrać losowe wiersz z każdej odrębnej kategorii w tabeli, dla wszystkich kategorii w stół. Planuje następnie przypisać każdy wiersz do zmiennej dla odpowiedniej kategorii.
Teraz używam wielu SELECT przypominające:
SELECT link, caption, image FROM table WHERE category='whatever' ORDER BY RANDOM() LIMIT 1
Ale to wydaje nieeleganckie i tworzy kolejne wycieczki do DB, co jest kosztowne.
Jestem prawie pewny, że istnieje sposób, aby to zrobić z funkcjami okna w Postgresie, ale nie mam z nimi żadnego doświadczenia i nie jestem do końca pewny, jak go użyć, aby uzyskać to, co chcę.
Dzięki za wszelką pomoc!
Doskonała! Obie wydają się działać dla moich celów. Dziękuję Ci! – Steve