I want to limit the SQL query result set while also knowing how many possible rows match. I found that (with Postgresql), I could write
SELECT *,count(*) over() as total FROM ... WHERE ... LIMIT 5
which will return a max of 5 rows, with a column called total
which contains the total number of rows which match the query (it's the same value for all rows); this, to avoid multiple queries.
How can represent this as an ActiveRecord query? While I can pass the select clause to .select
, but the "count(*) over()" field is ignored. I had to resort to exec_query
and specify then entire select string.
Aucun commentaire:
Enregistrer un commentaire