SELECTした順番に連番付けたいときありますよね。OracleだとROWNUMというものがあるらしいです。PostgreSQLでは、Ver8.4以降に実装されたWindows関数を利用するのが簡単だと思います。 Window関数ってのは、GROUP BYを集約せず、それぞれのROWに対して関数を摘要するものです。データの中に窓を作るイメージからWindow関数と呼ぶのでしょう。 さて、本題の連番を付ける方法です。 SELECT row_number() OVER (ORDER BY timestamp) AS i, timestamp FROM usdjpy row_number() OVER (ORDER BY timestamp)が肝となる部分です。連番を付けたい順番を指定しましょう。 Window関数 — Let's Postgresにあるように下記のような書き方もあるみたいですね