I am using active-admin to show list of users with following query.
SELECT
agent_id,
COUNT(*) filter (where price BETWEEN 1 AND 200000) as stat_1,
from users
group by agent_id
order by stat_1 desc
LIMIT 20 OFFSET 0
Rails Standard:
User
.select('agent_id, COUNT(*) filter (where price BETWEEN 1 AND 200000) as stat_1').page(params[:page]).per(20)
.group(:agent_id)
.page(params[:page]).per(20)
.order('stat_1 desc')
In ActivAdmin
paginated_collection(users) do
table_for collection, sortable: true do
....
....
end
end
But paginate_collection throws error
PG::UndefinedColumn: ERROR: column "stat_1" does not exist
SELECT COUNT(*) AS count_all, agent_id AS agent_id FROM "users"
GROUP BY "users"."agent_id"
ORDER BY stat_1 desc LIMIT 20 OFFSET 0
How I can resolve this issue?