Эквивалент функции FOUND_ROWS () в Postgresql

Я выполняю подкачку в моем приложении, возвращая 20 строк из базы данных за раз, используя стандартные ключевые слова PostgreSQL OFFSET и LIMIT. Например, чтобы получить страницу 1 page:

SELECT stuff FROM table WHERE condition ORDER BY stuff OFFSET 0 LIMIT 20

Это требование приложения, чтобы мы также показывали пользователю общее количество записей. Таким образом, очевидно, что я могу получить общую сумму, выполнив отдельный запрос:

SELECT COUNT(*) FROM table WHERE condition

Но если имеется большое количество строк, это не оптимальное решение. Я заметил, что в MySQL есть очень полезная функция FOUND_ROWS (), которая делает именно то, что я ищу:

http: //dev.mysql. com / doc / refman / 5.0 / en / information-functions.html # function% 5Ffound-rows

Есть ли эквивалент в PostgreSQL?

17
задан Mike Chamberlain 13 March 2014 в 04:17
поделиться