PostgreSQLクエリによって返される各レコードの観測番号を表示したいと思います。
8.4では、ウィンドウ機能がこの機能を実行できると思います。
select row_number() over (order by <field> nulls last) as rownum, *
from foo_tbl
order by <field>
順序が不要な場合、この答えも簡略化できます。
select row_number() over(), * -- notice: no fields are needed
from foo_tbl
8.4より前のバージョンの場合:
SELECT count(*) rownum, foo.*
FROM datatable foo
JOIN datatable bar
ON (foo.pk_id < bar.pk_id)
GROUP BY foo.pk_id, foo.a, foo.b
ORDER BY rownum
;
-- if there isn't a single unique/primary key field, you can concatenate fields
-- Example: ON (foo.a||foo.b||foo.c < bar.a||bar.b||bar.c)
これが誰かを助けることを願っています。