Для каждого существующего родителя я бы хотел выбрать 1 дочернюю строку случайным образом. Структура таблицы выглядит следующим образом:
parent
id
child
parent_id
id
rank
, где есть 1..N дочерних записей для каждого родителя, и ранг является уникальным для каждого родителя с 1 до N.
Вывод должен быть таким:
parent child rank
--------+-------+-------
1 34 7
2 56 8
...
Каждый родитель создает одну дочернюю строку. (Это послужит основой для испытаний Бернулли.)
(PostgreSQL имеет функцию random (), которая дает число от 0 до 1.)