Posted at

PostgreSQLで総件数とページングデータを同時に取得する

More than 1 year has passed since last update.

RDBからデータを取得する際には


  • lmit/offsetをつけてデータ取得のSQLを発行する

  • それとは別に同じ条件のcount(*)を発行する

という2ステップが必要とずっと思っていたが、なんとそれを一発でやる方法があるということを今日知った。

select *, count(id) over() as full_count from table1 where id < 30 offset 0 limit 10;

なんなんだover()って。。。(ググれ)

なかなかの衝撃。