sql >> データベース >  >> RDS >> PostgreSQL

2つのarray_agg(または内部にタプルを持つ1つのarray_agg)を持つDISTINCT?

    前の質問 で答えたものと同様です 、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次元配列を備えた他のバージョンの方が好きです。




    1. T-SQL:SELECTを使用してテーブルを作成するにはどうすればよいですか?

    2. PostgreSQLデータベース内のすべてのトリガーを一覧表示する2つの方法

    3. Oracleストアドプロシージャにエラーメッセージを記録する

    4. PHP 5の代替関数mysql_list_tables()は何ですか