PostgreSQL には 通常の DISTINCT ではない DISTINCT ON というものがあります。 次のようなテーブルがあるとします。 db1=# SELECT * FROM distinct_test; field1 | field2 | field3 --------+--------+-------- 1 | 4 | 1 1 | 4 | 2 2 | 2 | 1 2 | 2 | 2 3 | -1 | 1 3 | -1 | 2 (6 rows) まずは通常の DISTINCT です。 db1=# SELECT DISTINCT field1, field2 FROM distinct_test; field1 | field2 --------+-------- 1 | 4 2 | 2 3 | -1 (3 rows) この場合、列に指定した field1, field2 の順