जैसा कि मैंने आपके पूर्व प्रश्न
पर उत्तर दिया था। , बस ARRAY of rows
. के साथ जैसा कि आपने सुझाव दिया और छोटी स्थितीय संकेतन:
SELECT DISTINCT ON (1)
p, groundtruth, array_agg(ROW(anchor_id, id)) AS ids
FROM (
SELECT DISTINCT ON (1, 2, 3)
ps.p, m.groundtruth, m.anchor_id, m.id
FROM (SELECT unnest(point_array) AS p) AS ps
JOIN measurement m ON ST_DWithin(ps.p, m.groundtruth, distance)
ORDER BY 1, 2, 3, random()
) x
GROUP BY 1, 2
ORDER BY 1, random();
लेकिन मुझे 2-आयामी सरणी वाला दूसरा संस्करण बेहतर लगता है।