sql >> Database teknologi >  >> RDS >> PostgreSQL

DISTINCT med to array_agg (eller en array_agg med tuple indeni)?

Svarende til det, jeg svarede på dit foregående spørgsmål , bare med ARRAY of rows som du foreslog og kortere positionsbetegnelse:

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();

Men jeg kan bedre lide den anden version med et 2-dimensionelt array.




  1. understreng i orakel

  2. KGXGN polling fejl (15)

  3. Sådan sletter du Virtual Machine fra VirtualBox

  4. Hvordan vælger man første og sidste datarække fra et mysql-resultat?