我在应用程序中进行一些分页,使用PostgreSQL的标准偏移量和限制关键字一次从数据库返回20行.例如,要获取第1页,请执行以下操作:
SELECT stuff FROM table WHERE condition ORDER BY stuff OFFSET 0 LIMIT 20
应用程序还要求我们向用户显示记录的总数.所以,很明显,我可以通过发出一个单独的查询来得到总数:
SELECT COUNT(*) FROM table WHERE condition
但是如果有大量的行,那么这不是一个最佳的解决方案.我注意到MySQL有一个非常有用的函数,名为find_ROWS(),它正是我想要的:
http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function%5Ffound-rows
PostgreSQL中是否有类似的版本?