PostgreSQLはDISTINCT ON (params)を使える
PostgreSQLの拡張で、 SELECT DISTINCT ON (params ...) fields... がある。この構文は params の中で一意な行となるように抽出される。このときfields に該当する行が複数ある場合、最初の行が選択される。
なので、DISTINCT しているんだから多分はそうなると思うが、fields が複数になる可能性があるなら ORDER BY で順序を決めておくほうが良い。
PostgreSQLの拡張で、 SELECT DISTINCT ON (params ...) fields... がある。この構文は params の中で一意な行となるように抽出される。このときfields に該当する行が複数ある場合、最初の行が選択される。
なので、DISTINCT しているんだから多分はそうなると思うが、fields が複数になる可能性があるなら ORDER BY で順序を決めておくほうが良い。