SELECT DISTINCT ON (geom_line),gid
FROM edge_table;
私は重複を含まエッジテーブルを持っていると私はそれらの1を維持重複エッジを削除したいのですが、構文自体が間違っていますか?
SELECT DISTINCT ON (geom_line),gid
FROM edge_table;
私は重複を含まエッジテーブルを持っていると私はそれらの1を維持重複エッジを削除したいのですが、構文自体が間違っていますか?
コンマが問題です。
あなたが結果に含まgeom_line
をしたい場合は、
SELECT DISTINCT ON (geom_line) gid FROM edge_table;
を使用エルス
SELECT DISTINCT ON (geom_line) geom_line, gid FROM edge_table;
使用しかし、あなたの目的は、重複を削除するだけであれば、私はあなたが使用する必要があることを言うだろう
SELECT DISTINCT geom_line, gid FROM edge_table;
DISTINCT
は、結果全体にわたって一意性を保証するtであり、一方、DISTINCT ON
は、カッコ内の式に対して一意性を保証します。カッコ内の式が同一である行が複数ある場合は、これらの行の1つが選択されます。 ORDER BY
句がある場合は、最初の行が選択されます。
DISTINCT a, b
は、DISTINCT ON (a, b) a, b
と同じです。
何が基本ですか独特のものと単独のものとの違いは? –
私はそれを説明する答えを広げました。 –
'DISTINCT ON(geom_line)geom_line、gid FROM edge_table;'読み取り:http://www.postgresqlforbeginners.com/2010/11/sql-distinct-distinct-on-and-all.html – aaa